JP2010035981A - Self-propelled cleaning robot and device, method and program for controlling it - Google Patents
Self-propelled cleaning robot and device, method and program for controlling it Download PDFInfo
- Publication number
- JP2010035981A JP2010035981A JP2008205588A JP2008205588A JP2010035981A JP 2010035981 A JP2010035981 A JP 2010035981A JP 2008205588 A JP2008205588 A JP 2008205588A JP 2008205588 A JP2008205588 A JP 2008205588A JP 2010035981 A JP2010035981 A JP 2010035981A
- Authority
- JP
- Japan
- Prior art keywords
- cleaning
- cleaning surface
- robot
- force
- 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.)
- Pending
Links
Images
Landscapes
- Electric Suction Cleaners (AREA)
- Electric Vacuum Cleaner (AREA)
Abstract
Description
本発明は、自走して掃除を自動的に行う自走式掃除ロボット、自走式掃除ロボットの制御装置及び方法、並びに、自走式掃除ロボットの制御プログラムに関する。 The present invention relates to a self-propelled cleaning robot that performs self-propelled cleaning automatically, a control device and method for the self-propelled cleaning robot, and a control program for the self-propelled cleaning robot.
近年、家庭内の掃除を自動で行う家庭用自走式掃除ロボットが盛んに開発されるようになってきている。従来、人が行ってきた掃除では、畳又はフローリングの方向を人が考慮して掃除の方向を人が決定することが多い。このような掃除方法を考慮に入れたロボット装置の一例として、床選択スイッチで畳を選択した場合、床面から反射される光量を検知し、光量の時系列変化から畳の織目の方向を検出し、検出された織目の方向に基づいて走行させる自走式掃除機が提案されている(特許文献1参照。)また、一般の電気掃除機では、床面に応じて、吸口ブラシ位置を変更したり、吸引力を変更したりすることが行われているが、そのような掃除方法を考慮に入れたロボット装置の一例として、床面からの光を受光する受光センサを備え、受光センサによる検出結果を基に床材質のより正確な判別を実現し、きめ細かな掃除を可能とする自走式掃除機が提案されている(特許文献2参照。) In recent years, home-use self-propelled cleaning robots that automatically clean the home have been actively developed. In the conventional cleaning performed by a person, the person often determines the direction of cleaning in consideration of the direction of tatami or flooring. As an example of a robot apparatus that takes such a cleaning method into consideration, when a tatami is selected with a floor selection switch, the amount of light reflected from the floor is detected, and the direction of the texture of the tatami is determined from the time-series change in the amount of light. A self-propelled vacuum cleaner that detects and travels based on the direction of the detected texture has been proposed (see Patent Document 1). In a general vacuum cleaner, the suction brush position is determined according to the floor surface. As an example of a robot device that takes into account such a cleaning method, a light receiving sensor that receives light from the floor surface is provided. A self-propelled vacuum cleaner that realizes more accurate discrimination of the floor material based on the detection result of the sensor and enables fine cleaning is proposed (see Patent Document 2).
しかしながら、特許文献1のような従来の技術においては、畳以外の掃除の場合を考慮していないという課題があった。また、光量を検出するため、自走式掃除用ロボットのように、人の不在時に使われることが想定される場合、光源を自走式掃除用ロボットに備える必要があるなど、光源を確保する必要があった。特許文献2のような従来の技術においては、掃除面の材質の判別は行っていたが、掃除方向については考慮されていないという課題があった。
However, the conventional technique such as
本発明の目的は、このような課題に鑑みてなされたものであり、自走式掃除ロボットが掃除をする際に、掃除面と掃除手段との間に発生する力を検出することにより、掃除を行う面の材質に応じて掃除ノズル又は拭き掃除手段などの掃除手段の進行方向を変更することで、人間が行ってきた適切な掃除方向での掃除を実現できる、自走式掃除ロボット、自走式掃除ロボットの制御装置及び方法、並びに、自走式掃除ロボットの制御プログラムを提供することにある。 The object of the present invention is made in view of such problems, and when a self-propelled cleaning robot performs cleaning, it detects the force generated between the cleaning surface and the cleaning means, thereby cleaning the object. A self-propelled cleaning robot that can perform cleaning in an appropriate cleaning direction that has been performed by humans by changing the traveling direction of the cleaning means such as a cleaning nozzle or wiping cleaning means according to the material of the surface to be cleaned The present invention provides a control device and method for a self-propelled cleaning robot, and a control program for a self-propelled cleaning robot.
上記目的を達成するために、本発明は以下のように構成する。
本発明の第1態様によれば、移動体と、前記移動体を床面上で移動させる移動手段と、前記移動体に配置されかつ前記移動手段により前記移動体を移動させて前記床面の掃除面に対して掃除を行う掃除手段とを備える自走式掃除ロボットにおいて、
前記掃除手段と前記掃除面とに働く力を検出して出力する力検出部と、
前記力検出部で検出した力に基づき、前記掃除手段を前記床面の前記掃除面に接触させて前記掃除面に沿って掃除を行う方向を決定する掃除方向決定手段と、
前記掃除方向決定手段により決定された前記掃除方向に沿った掃除軌道を生成する軌道生成手段とを備えて、
前記移動手段により、前記軌道生成手段で生成された前記掃除軌道に沿って前記移動体を移動させて、前記掃除手段で前記掃除面に対する掃除を行う自走式掃除ロボットを提供する。
このような構成により、掃除を行う面の表面方向特性を検出し、表面方向特性に沿った方向に掃除を行うロボットの制御が実現できる。
In order to achieve the above object, the present invention is configured as follows.
According to the first aspect of the present invention, the moving body, the moving means for moving the moving body on the floor surface, the moving body arranged on the moving body and moving the moving body by the moving means, In a self-propelled cleaning robot having a cleaning means for cleaning the cleaning surface,
A force detector that detects and outputs a force acting on the cleaning means and the cleaning surface;
Based on the force detected by the force detector, a cleaning direction determining means for determining a direction in which the cleaning means is brought into contact with the cleaning surface of the floor and cleaning is performed along the cleaning surface;
A trajectory generating means for generating a cleaning trajectory along the cleaning direction determined by the cleaning direction determining means,
A self-propelled cleaning robot that moves the moving body along the cleaning track generated by the track generation unit by the moving unit and cleans the cleaning surface by the cleaning unit is provided.
With such a configuration, it is possible to detect the surface direction characteristic of the surface to be cleaned and control the robot that performs cleaning in the direction along the surface direction characteristic.
本発明の第8態様によれば、移動体と、前記移動体を床面上で移動させる移動手段と、前記移動体に配置されかつ前記移動手段により前記移動体を移動させて前記床面の掃除面に対して掃除を行う掃除手段とを備える自走式掃除ロボットの制御装置であって、
前記掃除手段と前記掃除面とに働く力を力検出部で検出して、前記力検出部から出力した力に基づき、前記掃除手段を前記床面の前記掃除面に接触させて前記掃除面に沿って掃除を行う方向を決定する掃除方向決定手段と、
前記掃除方向決定手段により決定された前記掃除方向に沿った掃除軌道を生成する軌道生成手段とを備え、
前記移動手段により、前記軌道生成手段で生成された前記掃除軌道に沿って前記移動体を移動させて、前記掃除手段で前記掃除面に対する掃除を行うように前記自走式掃除ロボットを制御する、自走式掃除ロボットの制御装置を提供する。
According to the eighth aspect of the present invention, the moving body, the moving means for moving the moving body on the floor surface, the moving body disposed on the moving body and moving the moving body by the moving means, A control device for a self-propelled cleaning robot comprising a cleaning means for cleaning the cleaning surface,
A force detecting unit detects a force acting on the cleaning unit and the cleaning surface, and based on the force output from the force detection unit, the cleaning unit is brought into contact with the cleaning surface of the floor surface to the cleaning surface. Cleaning direction determining means for determining the direction of cleaning along,
A trajectory generating means for generating a cleaning trajectory along the cleaning direction determined by the cleaning direction determining means,
The moving means controls the self-propelled cleaning robot to move the moving body along the cleaning path generated by the path generation means and to clean the cleaning surface by the cleaning means. A control device for a self-propelled cleaning robot is provided.
本発明の第9態様によれば、移動体と、前記移動体を床面上で移動させる移動手段と、前記移動体に配置されかつ前記移動手段により前記移動体を移動させて前記床面の掃除面に対して掃除を行う掃除手段とを備える自走式掃除ロボットの制御方法であって、
前記掃除手段と前記掃除を行う面とに働く力を検出して出力する力検出部とを備え、
前記力検出部で検出した力に基づき、前記掃除手段を前記床面の前記掃除面に接触させて前記掃除面に沿って掃除を行う面の掃除方向を決定する掃除方向決定手段とを備え、
前記掃除手段の、前記掃除方向決定手段により決定された前記掃除方向に沿った掃除軌道を生成する軌道生成手段とを備えて、
前記移動手段により、前記軌道生成手段で生成された前記掃除軌道に沿って前記移動体を移動させて、前記掃除手段で前記掃除面に対する掃除を行うように前記自走式掃除ロボットを制御する、自走式掃除ロボットの制御方法を提供する。
According to the ninth aspect of the present invention, the moving body, the moving means for moving the moving body on the floor surface, the moving body arranged on the moving body and moving the moving body by the moving means, A control method for a self-propelled cleaning robot comprising a cleaning means for cleaning a cleaning surface,
A force detector that detects and outputs a force acting on the cleaning means and the surface to be cleaned;
Based on the force detected by the force detection unit, the cleaning means is brought into contact with the cleaning surface of the floor surface, the cleaning direction determining means for determining the cleaning direction of the surface to be cleaned along the cleaning surface,
A trajectory generating means for generating a cleaning trajectory along the cleaning direction determined by the cleaning direction determining means of the cleaning means;
The moving means controls the self-propelled cleaning robot to move the moving body along the cleaning path generated by the path generation means and to clean the cleaning surface by the cleaning means. A control method for a self-propelled cleaning robot is provided.
本発明の第10態様によれば、移動体と、前記移動体を床面上で移動させる移動手段と、前記移動体に配置されかつ前記移動手段により前記移動体を移動させて前記床面の掃除面に対して掃除を行う掃除手段とを備える自走式掃除ロボットの制御プログラムであって、
コンピュータを、
前記掃除手段と前記掃除面とに働く力を検出して出力する力検出部と、
前記力検出部で検出した力に基づき、前記掃除手段を前記床面の前記掃除面に接触させて前記掃除面に沿って掃除を行う方向を決定する掃除方向決定手段と、
前記掃除方向決定手段により決定された前記掃除方向に沿った掃除軌道を生成する軌道生成手段として機能させるとともに、
前記移動手段により、前記軌道生成手段で生成された前記掃除軌道に沿って前記移動体を移動させて、前記掃除手段で前記掃除面に対する掃除を行うように機能させるための、自走式掃除ロボットの制御プログラムを提供する。
このような構成により、掃除を行う面の表面方向特性を検出し、表面方向特性に沿った方向に掃除を行うロボットの制御が実現できる。
According to the tenth aspect of the present invention, the moving body, the moving means for moving the moving body on the floor surface, the moving body disposed on the moving body and moving the moving body by the moving means, A control program for a self-propelled cleaning robot comprising a cleaning means for cleaning the cleaning surface,
Computer
A force detector that detects and outputs a force acting on the cleaning means and the cleaning surface;
Based on the force detected by the force detector, a cleaning direction determining means for determining a direction in which the cleaning means is brought into contact with the cleaning surface of the floor and cleaning is performed along the cleaning surface;
While functioning as a trajectory generating means for generating a cleaning trajectory along the cleaning direction determined by the cleaning direction determining means,
A self-propelled cleaning robot for causing the moving means to move along the cleaning orbit generated by the orbit generation means and to perform cleaning on the cleaning surface by the cleaning means. Provide a control program.
With such a configuration, it is possible to detect the surface direction characteristic of the surface to be cleaned and control the robot that performs cleaning in the direction along the surface direction characteristic.
以上述べたように、本発明の自走式掃除ロボット、自走式掃除ロボットの制御装置及び方法、並びに、自走式掃除ロボットの制御プログラムによれば、自走しながら掃除を行う自走式自動掃除ロボットにおいて、掃除面に対して掃除を行う掃除手段と掃除を行う掃除面とに働く力から掃除面の種類の推定と掃除を行う面の表面方向特性を検出し、掃除面の種類に応じた表面方向特性に沿った方向に掃除を行うロボット制御が実現できる。 As described above, according to the self-propelled cleaning robot of the present invention, the control device and method for the self-propelled cleaning robot, and the control program for the self-propelled cleaning robot, the self-propelled cleaning is performed while self-propelled. In an automatic cleaning robot, the type of cleaning surface is detected by estimating the type of cleaning surface and the surface direction characteristics of the surface to be cleaned from the force acting on the cleaning means for cleaning the cleaning surface and the cleaning surface for cleaning. Robot control that performs cleaning in a direction along the corresponding surface direction characteristics can be realized.
以下、図面を参照して本発明における実施形態を詳細に説明する前に、本発明の種々の態様について説明する。 DESCRIPTION OF EMBODIMENTS Hereinafter, various embodiments of the present invention will be described before detailed description of embodiments of the present invention with reference to the drawings.
本発明の第1態様によれば、移動体と、前記移動体を床面上で移動させる移動手段と、前記移動体に配置されかつ前記移動手段により前記移動体を移動させて前記床面の掃除面に対して掃除を行う掃除手段とを備える自走式掃除ロボットにおいて、
前記掃除手段と前記掃除面とに働く力を検出して出力する力検出部と、
前記力検出部で検出した力に基づき、前記掃除手段を前記床面の前記掃除面に接触させて前記掃除面に沿って掃除を行う方向を決定する掃除方向決定手段と、
前記掃除方向決定手段により決定された前記掃除方向に沿った掃除軌道を生成する軌道生成手段とを備えて、
前記移動手段により、前記軌道生成手段で生成された前記掃除軌道に沿って前記移動体を移動させて、前記掃除手段で前記掃除面に対する掃除を行う自走式掃除ロボットを提供する。
このような構成により、掃除を行う面の表面方向特性を検出し、表面方向特性に沿った方向に掃除を行うロボットの制御が実現できる。
According to the first aspect of the present invention, the moving body, the moving means for moving the moving body on the floor surface, the moving body arranged on the moving body and moving the moving body by the moving means, In a self-propelled cleaning robot having a cleaning means for cleaning the cleaning surface,
A force detector that detects and outputs a force acting on the cleaning means and the cleaning surface;
Based on the force detected by the force detector, a cleaning direction determining means for determining a direction in which the cleaning means is brought into contact with the cleaning surface of the floor and cleaning is performed along the cleaning surface;
A trajectory generating means for generating a cleaning trajectory along the cleaning direction determined by the cleaning direction determining means,
A self-propelled cleaning robot that moves the moving body along the cleaning track generated by the track generation unit by the moving unit and cleans the cleaning surface by the cleaning unit is provided.
With such a configuration, it is possible to detect the surface direction characteristic of the surface to be cleaned and control the robot that performs cleaning in the direction along the surface direction characteristic.
本発明の第2態様によれば、前記掃除方向決定手段は、前記力検出部で検出した力のうち、前記掃除面に対して水平な成分と垂直な成分に基づき、前記掃除面の前記掃除方向を決定する第1の態様に記載の自走式掃除ロボットを提供する。
本構成によって、掃除を行う面の種類に応じて表面方向特性に沿った方向に掃除を行うロボットの制御が実現できる。
According to the second aspect of the present invention, the cleaning direction determining means is based on a component that is horizontal and perpendicular to the cleaning surface out of the force detected by the force detection unit. A self-propelled cleaning robot according to a first aspect for determining a direction is provided.
With this configuration, it is possible to realize control of the robot that performs cleaning in the direction along the surface direction characteristics according to the type of the surface to be cleaned.
本発明の第3態様によれば、前記掃除面の掃除表面状態情報を有する掃除面種データベースと、
前記力検出部で検出した力に基づき、前記掃除面種データベースを参照して前記掃除面の種類を選択する掃除面種選択手段をさらに備える第1又は2の態様に記載の自走式掃除ロボットを提供する。
According to the third aspect of the present invention, a cleaning surface type database having cleaning surface state information of the cleaning surface;
The self-propelled cleaning robot according to the first or second aspect, further comprising a cleaning surface type selection unit that selects a type of the cleaning surface with reference to the cleaning surface type database based on the force detected by the force detection unit. I will provide a.
本発明の第4態様によれば、前記掃除面種データベースは、前記掃除表面状態情報として、フローリングの掃除表面状態情報と、畳の掃除表面状態情報と、絨毯の掃除表面状態情報とを有する第3の態様に記載の自走式掃除ロボットを提供する。 According to a fourth aspect of the present invention, the cleaning surface type database includes flooring cleaning surface state information, tatami cleaning surface state information, and carpet cleaning surface state information as the cleaning surface state information. A self-propelled cleaning robot according to the third aspect is provided.
本発明の第5態様によれば、前記掃除面種データベースは、前記掃除表面状態情報として、フローリングの掃除表面状態情報と、畳の掃除表面状態情報と、絨毯の掃除表面状態情報を有するとともに、前記掃除面種選択手段は、前記掃除面種データベースの3種類の掃除表面状態情報のうち少なくとも2種類の内から前記掃除面の種類を選択する第3の態様に記載の自走式掃除ロボットを提供する。 According to the fifth aspect of the present invention, the cleaning surface type database includes flooring cleaning surface state information, tatami cleaning surface state information, and carpet cleaning surface state information as the cleaning surface state information. The self-propelled cleaning robot according to the third aspect, wherein the cleaning surface type selection means selects the type of the cleaning surface from at least two types of the three types of cleaning surface state information in the cleaning surface type database. provide.
本発明の第6態様によれば、前記掃除面種選択手段は、前記掃除面の摩擦係数の大きさに基づいて、前記掃除面種データベースの前記フローリングの掃除表面状態情報と前記畳の掃除表面状態情報と前記絨毯の掃除表面状態情報とのいずれか1つを選択する第4又は5の態様に記載の自走式掃除ロボットを提供する。 According to the sixth aspect of the present invention, the cleaning surface type selection means may determine the cleaning surface condition information of the flooring and the cleaning surface of the tatami mat based on the size of the friction coefficient of the cleaning surface. The self-propelled cleaning robot according to the fourth or fifth aspect is provided for selecting any one of the state information and the cleaning surface state information of the carpet.
本発明の第7態様によれば、前記軌道生成手段は、前記力検出部で検出した力に基づき、掃除する領域を変更する軌道を生成する第1〜6のいずれか1つの態様に記載の自走式掃除ロボットを提供する。 According to a seventh aspect of the present invention, in the first to sixth aspects, the trajectory generating means generates a trajectory that changes a region to be cleaned based on the force detected by the force detection unit. Provide a self-propelled cleaning robot.
本発明の第8態様によれば、移動体と、前記移動体を床面上で移動させる移動手段と、前記移動体に配置されかつ前記移動手段により前記移動体を移動させて前記床面の掃除面に対して掃除を行う掃除手段とを備える自走式掃除ロボットの制御装置であって、
前記掃除手段と前記掃除面とに働く力を力検出部で検出して、前記力検出部から出力した力に基づき、前記掃除手段を前記床面の前記掃除面に接触させて前記掃除面に沿って掃除を行う方向を決定する掃除方向決定手段と、
前記掃除方向決定手段により決定された前記掃除方向に沿った掃除軌道を生成する軌道生成手段とを備え、
前記移動手段により、前記軌道生成手段で生成された前記掃除軌道に沿って前記移動体を移動させて、前記掃除手段で前記掃除面に対する掃除を行うように前記自走式掃除ロボットを制御する、自走式掃除ロボットの制御装置を提供する。
According to the eighth aspect of the present invention, the moving body, the moving means for moving the moving body on the floor surface, the moving body disposed on the moving body and moving the moving body by the moving means, A control device for a self-propelled cleaning robot comprising a cleaning means for cleaning the cleaning surface,
A force detecting unit detects a force acting on the cleaning unit and the cleaning surface, and based on the force output from the force detection unit, the cleaning unit is brought into contact with the cleaning surface of the floor surface to the cleaning surface. Cleaning direction determining means for determining the direction of cleaning along,
A trajectory generating means for generating a cleaning trajectory along the cleaning direction determined by the cleaning direction determining means,
The moving means controls the self-propelled cleaning robot to move the moving body along the cleaning path generated by the path generation means and to clean the cleaning surface by the cleaning means. A control device for a self-propelled cleaning robot is provided.
本発明の第9態様によれば、移動体と、前記移動体を床面上で移動させる移動手段と、前記移動体に配置されかつ前記移動手段により前記移動体を移動させて前記床面の掃除面に対して掃除を行う掃除手段とを備える自走式掃除ロボットの制御方法であって、
前記掃除手段と前記掃除を行う面とに働く力を検出して出力する力検出部とを備え、
前記力検出部で検出した力に基づき、前記掃除手段を前記床面の前記掃除面に接触させて前記掃除面に沿って掃除を行う面の掃除方向を決定する掃除方向決定手段とを備え、
前記掃除手段の、前記掃除方向決定手段により決定された前記掃除方向に沿った掃除軌道を生成する軌道生成手段とを備えて、
前記移動手段により、前記軌道生成手段で生成された前記掃除軌道に沿って前記移動体を移動させて、前記掃除手段で前記掃除面に対する掃除を行うように前記自走式掃除ロボットを制御する、自走式掃除ロボットの制御方法を提供する。
According to the ninth aspect of the present invention, the moving body, the moving means for moving the moving body on the floor surface, the moving body arranged on the moving body and moving the moving body by the moving means, A control method for a self-propelled cleaning robot comprising a cleaning means for cleaning a cleaning surface,
A force detector that detects and outputs a force acting on the cleaning means and the surface to be cleaned;
Based on the force detected by the force detection unit, the cleaning means is brought into contact with the cleaning surface of the floor surface, the cleaning direction determining means for determining the cleaning direction of the surface to be cleaned along the cleaning surface,
A trajectory generating means for generating a cleaning trajectory along the cleaning direction determined by the cleaning direction determining means of the cleaning means;
The moving means controls the self-propelled cleaning robot to move the moving body along the cleaning path generated by the path generation means and to clean the cleaning surface by the cleaning means. A control method for a self-propelled cleaning robot is provided.
本発明の第10態様によれば、移動体と、前記移動体を床面上で移動させる移動手段と、前記移動体に配置されかつ前記移動手段により前記移動体を移動させて前記床面の掃除面に対して掃除を行う掃除手段とを備える自走式掃除ロボットの制御プログラムであって、
コンピュータを、
前記掃除手段と前記掃除面とに働く力を検出して出力する力検出部と、
前記力検出部で検出した力に基づき、前記掃除手段を前記床面の前記掃除面に接触させて前記掃除面に沿って掃除を行う方向を決定する掃除方向決定手段と、
前記掃除方向決定手段により決定された前記掃除方向に沿った掃除軌道を生成する軌道生成手段として機能させるとともに、
前記移動手段により、前記軌道生成手段で生成された前記掃除軌道に沿って前記移動体を移動させて、前記掃除手段で前記掃除面に対する掃除を行うように機能させるための、自走式掃除ロボットの制御プログラムを提供する。
このような構成により、掃除を行う面の表面方向特性を検出し、表面方向特性に沿った方向に掃除を行うロボットの制御が実現できる。
According to the tenth aspect of the present invention, the moving body, the moving means for moving the moving body on the floor surface, the moving body disposed on the moving body and moving the moving body by the moving means, A control program for a self-propelled cleaning robot comprising a cleaning means for cleaning the cleaning surface,
Computer
A force detector that detects and outputs a force acting on the cleaning means and the cleaning surface;
Based on the force detected by the force detector, a cleaning direction determining means for determining a direction in which the cleaning means is brought into contact with the cleaning surface of the floor and cleaning is performed along the cleaning surface;
While functioning as a trajectory generating means for generating a cleaning trajectory along the cleaning direction determined by the cleaning direction determining means,
A self-propelled cleaning robot for causing the moving means to move along the cleaning orbit generated by the orbit generation means and to perform cleaning on the cleaning surface by the cleaning means. Provide a control program.
With such a configuration, it is possible to detect the surface direction characteristic of the surface to be cleaned and control the robot that performs cleaning in the direction along the surface direction characteristic.
(第1実施形態)
以下、本発明の第1実施形態にかかる、自走式掃除ロボット、自走式掃除ロボットの制御装置及び制御方法、並びに、自走式掃除ロボットの制御プログラムについて、図面を用いて詳細に説明する。
(First embodiment)
Hereinafter, a self-propelled cleaning robot, a control device and a control method for the self-propelled cleaning robot, and a control program for the self-propelled cleaning robot according to the first embodiment of the present invention will be described in detail with reference to the drawings. .
まず、本発明の前記第1実施形態にかかる自走式掃除ロボットの構成について説明する。
図1は、本発明の第1実施形態における自走式掃除ロボット1の概要を示す図である。図1において、自走式掃除ロボット1は、胴体部2と胴体部2に取り付けられたロボットアーム5とにより構成されて床面9上に置かれる移動体70と、前記移動体70を床面9上で移動させる移動手段71と、前記移動体70の前端部に配置されかつ前記移動手段71により前記移動体70を移動させて前記床面9の掃除面(掃除対象の領域又は面)に対して掃除を行う掃除手段の一例としての拭き掃除部材8とを備えて構成している。
First, the configuration of the self-propelled cleaning robot according to the first embodiment of the present invention will be described.
FIG. 1 is a diagram showing an outline of a self-propelled
移動手段71は、一例として、胴体部2に全て配置されており、移動体70を移動させるための駆動手段の一例としての一対のモータ40と、胴体部2の後部に配置されかつ一対のモータ40で正逆回転駆動される一対の車輪3(右車輪3a,左車輪3b)と、胴体部2の前部に配置されかつ補助輪4とを備えている。
The moving means 71 is, for example, all disposed in the
ロボットアーム5の基端は胴体部2の前端部に取り付けられているとともに、ロボットアーム5の先端には、力検出部の一例としての力センサ7を介して、拭き掃除部材8が取り付けられている。
The base end of the
自走式掃除ロボット1は、床面9、壁、又は、車などの汚れを拭き掃除部材8を用いて拭き掃除を行う自走式の掃除ロボットである。以下の説明では、一例として、床面9に対して掃除を行う場合を想定して説明する。
The self-propelled
図2及び図3は、自走式掃除ロボット1の構成を示す図であって、自走式掃除ロボット1の動作を制御する制御装置11と、制御装置11の制御対象である掃除ロボット本体部10の詳細構成を示す図である。このロボット本体部10は、移動体70と移動手段71とを備えている。
2 and 3 are diagrams showing a configuration of the self-propelled
制御装置11は、一例として、一般的なパーソナルコンピュータにより構成されており、少なくとも、掃除方向決定部(掃除方向決定手段の一例)91と、軌道生成部(軌道生成手段の一例)94と、動作制御手段の一例としての動作制御部13を備えて構成されている。
The
より具体的には、制御装置11は、さらに、動作軌道データベース14と動作軌道生成部95を有する軌道生成部94と、掃除面種データベース15と掃除面種選択部(掃除面種選択手段の一例)18とを有する掃除面種切替部19と、領域判定部90と、入出力IF(インターフェース)16とで構成される。このうち、図2に示すように、動作制御部13と、軌道生成部94と、掃除面種切替部19と、領域判定部90と、掃除方向決定部91とは、制御プログラム6として構成することが可能なものである。
More specifically, the
入出力IF16は、パーソナルコンピュータのPCIバスなどの拡張スロットに接続された、例えばD/Aボードと、A/Dボードと、カウンタボードとなどを備えるように構成されている。 The input / output IF 16 is configured to include, for example, a D / A board, an A / D board, a counter board, and the like connected to an expansion slot such as a PCI bus of a personal computer.
制御装置11は、入力部の一例としての入出力IF16を介して、ロボットアーム5の各リンクマニピュレータを駆動するモータドライバ17と接続され、そのモータドライバ17に制御信号を送る。
The
ロボット本体部10の動作を制御する制御装置11が実行されることにより、ロボットアーム5の各関節部及び一対の本体車輪3の後述するエンコーダ21,41よりそれぞれ出力される各関節角度情報及び各回転角度情報をそれぞれ検出し、さらに、後述する力検出部7より出力されるロボットアーム5の手先(手先取り付け部材30)に発生している力情報が、入出力IF16のカウンタボードを通じて制御装置11に取り込まれ、取り込まれた各関節角度情報及び各回転角度情報と力情報に基づき、制御装置11によって各関節部と一対の本体車輪3の回転動作での制御指令値が算出される。算出された各制御指令値は、入出力IF16のD/Aボードを通じて、ロボットアーム5の各関節部及び一対の本体車輪3を駆動制御するためのモータドライバ17に与えられ、モータドライバ17から送られた各制御指令値に従って、ロボットアーム5の各関節部のモータ20及び一対の本体車輪3の2つのモータ40がそれぞれ独立して駆動される。このモータドライバ17と各関節部のモータ20と一対の本体車輪3の2つのモータ40とで駆動部の一例として機能する。また、エンコーダ21及び41は、角度情報を出力する角度検出部の一例として機能する。
By executing the
胴体部2の前面部には、ロボットアーム5が台部を介して取り付けられて、移動体70を構成している。車輪3は胴体部2の後部に2つ取り付けられており、モータドライバ17からの制御指令値に従って、2つのモータ40により一対の車輪3が同期して同じ正逆回転をすることで前進及び後退が可能となる。また、モータドライバ17からの制御指令値に従って、2つのモータ40により右車輪3aと左車輪3bが異なった回転を行うことで、胴体部2は旋回運動が可能となる。掃除部材8が目標軌道を移動できるように、一対の車輪3a,3bは回転制御される。
A
ロボットアーム5は、一例として、6自由度の多リンクマニピュレータであり、手先取り付け部材30と、手先取り付け部材30が取り付けられている手首部31を先端32aに有する前腕リンク32と、前腕リンク32の基端32bに先端33aが回転可能に連結される上腕リンク33と、上腕リンク33の基端33bが回転可能に連結支持され胴体部2の前面部に固定される台部34とを備えている。
As an example, the
手首部31は、図3に示すように、第4関節部27と、第5関節部28と、第6関節部29との3つの回転軸を有しており、前腕リンク32に対する手先取り付け部材30の相対的な姿勢(向き)を変化させることができる。すなわち、図3において、第4関節部27は、手首部31に対する手先取り付け部材30のΨx軸(縦軸)周りの相対的な姿勢を変化させることができる。第5関節部28は、手首部31に対する手先取り付け部材30の、第4関節部27のΨx軸とは直交するΨy軸(横軸)周りの相対的な姿勢を変化させる。第6関節部29は、手首部31に対する手先取り付け部材30の、第4関節部27のΨx軸と直交する手先先端方向の軸Ψz(横軸)周りの相対的な姿勢を変化させることができる。すなわち、手先取り付け部材30は、前腕リンク32の先端32aに対してΨx軸とΨy軸とΨz軸との3軸方向にそれぞれ独立して回転可能である。また、図2における、手先座標系36と、これらのΨx軸とΨy軸とΨz軸とは必ずしも一致しない。手先座標系36は、後述の通り絶対座標系35を姿勢変化した座標系をハンド側に平行移動して、原点を手首位置に移動した仮想的なものであるのに対して、前記したΨx軸とΨy軸とΨz軸とは手先取り付け部材30の物理的な回転軸であり、必ずしも3軸は直交しない。
As shown in FIG. 3, the
前腕リンク32の基端32bは、上腕リンク33の先端33aに対して第3関節部26周りに回転可能とする。この第1実施形態では、第3関節部26周りに回転可能とは、第5関節部28のΨy軸と平行な横軸周りに回転可能であることを意味する。上腕リンク33の基端33bは、台部34に対して第2関節部25周りに回転可能とする。この第1実施形態では、第2関節部25周りに回転可能とは、第5関節部28のΨy軸(すなわち、第3関節部26の横軸)と平行な横軸周りに回転可能であることを意味する。台部34の上側可動部34aは、台部34の下側固定部34bに対して第1関節部24周りに回転可能とする。この第1実施形態では、第1関節部24周りに回転可能とは、絶対座標系35のZ軸周りに回転可能であることを意味している。
The
この結果、ロボットアーム5は、第1関節部24から第6関節部29の合計6個の軸周りに、それぞれ、独立して回転可能として、上記6自由度の多リンクマニピュレータを構成している。
As a result, the
各軸の回転部分を構成する各関節部には、各関節部を構成する一対の部材(例えば、回動側部材と、該回動側部材を支持する支持側部材)のうちの一方の部材に備えられ、かつ後述するモータドライバ17により駆動制御される回転駆動装置の一例としてのモータ20(実際には、ロボットアーム5の各関節部の内部に配設されている)と、モータ20の回転軸の回転位相角(すなわち、関節角)を検出するエンコーダ21(実際には、ロボットアーム5の各関節部の内部に配設されている)とを備える。よって、各関節部を構成する一方の部材に備えられたモータ12の回転軸が、各関節部の他方の部材に連結されて上記回転軸を正逆回転させることにより、他方の部材を一方の部材に対して各軸周りに回転可能とする。
Each joint part constituting the rotating part of each shaft has one member of a pair of members (for example, a rotation side member and a support side member supporting the rotation side member) constituting each joint part. And a
35は、台部34の下側固定部34bに対して相対的な位置関係が固定された絶対座標系(XYZ軸)であり、36は絶対座標系35に対して相対的な位置関係が固定された手先座標系である。絶対座標系35から見た手先座標系36の原点位置Oe(x,y,z)を、ロボットアーム5の手先取り付け部材30の位置(すなわち、手先位置)とする。そして、絶対座標系35から見た手先座標系36の姿勢を、ロール角とピッチ角とヨー角とを使用して座標(φ,θ,ψ)で表現する。この座標(φ,θ,ψ)を、ロボットアーム5の手先姿勢(手先取り付け部材30の姿勢)とし、手先位置及び姿勢ベクトルを、ベクトルr=[x、y、z、φ、θ、ψ]Tと定義する。ロール角、ピッチ角、ヨー角について図4A〜図4Cを用いて説明する。まず、絶対座標系35のZ軸を回転軸として、座標系を角度φだけZ軸周りに回転させた座標系を考える。(図4A参照)。このときの座標軸を[X’、Y’、Z]とする。次に、この座標系を、Y’軸を回転軸として、角度θだけY’軸周りに回転させる(図4B参照)。このときの座標軸を[X’’、Y’、Z’’]とする。最後に、この座標系を、X’’軸を回転軸として、角度ψだけX’’軸周りに回転させる(図4C参照)。このときの座標軸を[X’’、Y’’’、Z’’’]とする。このときの座標系の姿勢を、ロール角度φ、ピッチ角度θ、ヨー角度ψとし、このときの姿勢ベクトルは(φ,θ,ψ)となる。姿勢(φ,θ,ψ)の座標系が、原点位置を手先座標系36の原点位置Oe(x,y,z)に平行移動した座標系と、手先座標系36が一致する場合、手先座標系36の姿勢ベクトルは(φ,θ,ψ)であるとする。
ロボットアーム5の手先位置と、姿勢と、力とをそれぞれ制御する場合には、手先位置及び姿勢ベクトルr、及び、後述する手先に発生している手先力ベクトルFを、後述する目標軌道生成部45で生成された目標軌道、すなわち、手先位置及び姿勢目標ベクトルrdと目標力ベクトルFdとに動作制御部13により追従させることになる。
When controlling the hand position, posture, and force of the
掃除部材8は、例えばモップ、雑巾、又は、スポンジを想定し、床面又は壁面などを直接拭く部分である。掃除部材8は、掃除部材取り付け部8aを介して手先取り付け部材30に着脱可能に取り付けられて、一例として床面9の掃除面に軽く載せるようにしている。
The cleaning
力検出部7は、ロボットアーム5の手先取り付け部材30と掃除部材8の間に発生する力を検出もしくは推定して、その情報を出力する。絶対座標(x、y、z)の方向の力をそれぞれ(Fx,Fy,Fz)、絶対座標(x、y、z)のそれぞれの軸周りの回転トルクを(Tx,Ty,Tz)とし、手先に発生している力を、ベクトルF=[Fx,Fy,Fz,Tx,Ty,Tz]Tと定義する。一例として、力検出部7は、手先取り付け部材30と掃除部材8の間にある6軸の力センサを想定するが、掃除方向が限定される場合(一例として図24)などは6軸以下でもかまわない。ただし、少なくとも、掃除面に対して垂直の方向の力(掃除面に対して垂直な成分)と掃除面上の進行方向の力(掃除面に対して水平な成分)の検出ができる手段又は装置が必要となる。力検出部7からの出力は、入出力IF16を介して、動作制御部13と掃除面種データベース15と領域判定部90とに出力される。
The
また、力検出部7として、センサを用いず、手首部31の第4関節部27と第5関節部28と第6関節部29とにそれぞれ配置したモータ20のモータ電流値などから推定する力推定部として構成するようにしてもよい。この場合、力検出部7による外力の推定は、次の方法で推定する。モータドライバ17の電流センサ17aは、ロボットアーム5の各関節部を駆動するモータ20を流れる電流値i=[i1,i2,i3,i4,i5,i6]Tを計測する。力検出部7には、モータドライバ17の電流センサで計測された電流値i=[i1,i2,i3,i4,i5,i6]Tが、入出力IF9のA/Dボードを介して取り込まれる。また、各関節部の関節角の現在値qが、入出力IF16のカウンタボードを介して力検出部7に取り込まれるとともに、後述する動作制御部13からの関節トルク誤差補償出力τが力検出部7に取り込まれる。
Further, as the
力検出部7は、オブザーバーとして機能し、前記電流値iと、関節角の現在値qと、関節トルク誤差補償出力τとの各情報から、ロボットアーム5に加わる外力によって各関節部に発生するトルクτextを算出する。そして、さらに、力検出部7は、Fext=Jv(q)−Tτextにより、ロボットアーム5の手先における等価手先外力Fextに換算して、換算後の等価手先外力Fextを現在の手先力ベクトルFとして、力検出部7から動作制御部13と掃除面種データベース15と領域判定部90とに出力する。ここで、Jv(q)は、後述する近似逆運動学計算部54にて計算されるヤコビ行列である。
The
図5は制御装置11の詳細構成を示す図である。制御装置11は、前記したように、掃除方向決定部91と、軌道生成部94と、動作制御部13とを備えて、拭き掃除部材8と床面9の掃除面とに働く力を検出して出力する力検出部7で検出した力に基づき、拭き掃除部材8を床面9の掃除面に接触させて掃除面に沿って掃除を行う方向を決定する掃除方向決定部91と、掃除方向決定部91により決定された掃除方向に沿った掃除軌道(目標軌道)を生成する軌道生成部94とを備えて、一対のモータ40などにより、軌道生成部94で生成された掃除軌道に沿って移動体70を移動させて、拭き掃除部材8で掃除面に対する掃除を行うように制御するものである。
FIG. 5 is a diagram showing a detailed configuration of the
より具体的に、制御装置11は、さらに、前記したように、動作軌道データベース14と動作軌道生成部95とを有する軌道生成部94と、掃除面種データベース15と掃除面種選択部(掃除面種選択手段の一例)18とを有する掃除面種切替部19と、領域判定部90と、動作制御部13と、入出力IF(インターフェース)16とで構成される。このうち、動作制御部13は、目標軌道生成部45と、力誤差計算部46と、位置誤差計算部47と、位置及び力制御方向選択部48と、力誤差補償部49と、関節トルク変換部50と、位置誤差補償部51と、動力学補償部52と、順運動学計算部53と、近似逆運動学計算部54と関節トルク指令計算部55とを備えて構成され、ロボット本体部10の目標軌道、並びに、ロボット本体部10の現在位置及び姿勢と力の情報から、動作制御部13によりロボット本体部10の動作制御のための指令値を出力する。
More specifically, as described above, the
ロボット本体部10からは、ロボットアーム5のそれぞれの関節部のエンコーダ21により計測された関節角の現在値(関節角度ベクトル)ベクトルq=[q1,q2,q3,q4,q5,q6,qb1,qb2]Tが出力され、入出力IF9のカウンタボードにより動作制御部13の順運動学計算部53に取り込まれる。ただし、q1,q2,q3,q4,q5,q6,qb1,qb2は、それぞれ、エンコーダ21,41から検出された、第1関節部24と、第2関節部25と、第3関節部26と、第4関節部27と、第5関節部28と、第6関節部29と、右車輪3aと、左車輪3bとの関節角度である。
From the
目標軌道生成部45は、動作軌道データベース14からの出力情報と、力検出部7からの力情報(現在の手先力ベクトル)Fと、後述する順運動学計算部53からの手先位置及び姿勢ベクトルrとを基に、目標とするロボット本体部10の動作を実現するための目標軌道の情報、すなわち、ロボットアーム5の手先位置及び姿勢目標ベクトルrd及び目標力ベクトルFdを出力する。目標とするロボット本体部10の動作は、目的とする作業に応じて事前にそれぞれの時間(t=0、t=t1、t=t2、・・・)でのポイントごとの位置(rd0、rd1、rd2、・・・)及び力(Fd0、Fd1、Fd2、・・・)が動作軌道データベース14に与えられており、目標軌道生成部45は、動作軌道データベース14からの前記それぞれの時間(t=0、t=t1、t=t2、・・・)でのポイントごとの位置(rd0、rd1、rd2、・・・)及び力(Fd0、Fd1、Fd2、・・・)の情報と、順運動学計算部53からの手先位置及び姿勢ベクトルrと、力検出部7からの手先力ベクトルFとを基に多項式補間を使用し、各ポイント間の軌道を補完し、目標軌道である手先位置及び姿勢目標ベクトルrd及び目標力ベクトルFdを生成する。
The target
順運動学計算部53には、ロボット本体部10のロボットアーム5の各関節部のエンコーダ21により計測された各関節角の現在値qである関節角度ベクトルqが、入出力IF9のカウンタボードを介して入力される。そして、順運動学計算部53では、ロボット本体部10のロボットアーム5の関節角度ベクトルqから手先位置及び姿勢ベクトルrへの変換の幾何科学的計算を行う。よって、順運動学計算部53は、ロボット本体部10のロボットアーム5の手先位置を検出する手先位置検出部の一例として機能する。順運動学計算部53で計算された手先位置及び姿勢ベクトルrは、目標軌道生成部45と位置誤差計算部47と掃除方向決定部91と掃除面種選択部18と領域判定部90とに出力される。
In the forward
近似逆運動学計算部54では、ロボット本体部10のロボットアーム5において計測される関節角度ベクトルqに基づき、Jv(q)の計算を行う。ただし、Jv(q)は、
The approximate inverse
を満たすヤコビ行列である。ただし、v=[vx、vy、vz、λx、λy、λz]Tであり、(vx、vy、vz)は手先座標系36でのロボットアーム5の手先の並進速度、(λx、λy、λz)は手先座標系36でのロボットアーム5の手先の角速度である。
力誤差計算部46は、目標軌道生成部45から出力される目標力ベクトルFdと力検出手段7から出力される現在の手先に発生している手先力ベクトルFとの差である力誤差出力ベクトルFeを計算し、位置及び力制御方向選択部48に力誤差出力ベクトルFeを出力する。
Jacobian matrix that satisfies However, v = a [v x, v y, v z, λ x, λ y, λ z] T, (v x, v y, v z) is the hand of the
The force
位置誤差計算部47は、目標軌道生成部45から出力される手先位置及び姿勢目標ベクトルrdと順運動学計算部53から出力される現在の手先位置及び姿勢ベクトルrとの差である位置及び姿勢誤差出力reを計算し、位置及び力制御方向選択部48に位置及び姿勢誤差出力reを出力する。
Position
位置及び力制御方向選択部48は、力制御を行う方向と位置制御を行う方向とを切り分けて、力誤差補償部49と位置誤差補償部51とにそれぞれ方向補正力誤差出力
The position and force control
(以下、簡略して記載するため、これを「∧Fe」と記載する。)と方向補正位置及び姿勢誤差出力
(Hereinafter, this is referred to as “∧F e ” for the sake of brevity.) And the direction correction position and attitude error output
(以下、簡略して記載するため、これを「∧re」と記載する。)とを出力する。
例えば、x方向に力制御を行い、かつ、それ以外の方向は位置制御を行う場合には、
(Hereinafter, this is described as “∧r e ” for the sake of brevity).
For example, when force control is performed in the x direction and position control is performed in other directions,
とすることで、x方向に力制御を行うとともに、それ以外の方向に位置制御を行うことが出来る。
By doing so, it is possible to perform force control in the x direction and position control in other directions.
力誤差補償部49は、位置及び力制御方向選択部48から方向補正力誤差出力∧Feが入力され、方向補正力誤差出力∧Feが0に収束するようにロボット本体部10を制御するための制御入力となる力誤差補償出力UFeを計算し、力誤差補償出力UFeが、関節トルク変換部50に向けて出力される。
The force
関節トルク変換部50は、力誤差補償部49から入力された力誤差補償出力UFeを各関節等価トルクτfに変換して、各関節等価トルクτfを関節トルク指令計算部55に向けて出力する。
The joint
位置誤差補償部51は、位置及び力制御方向選択部48から方向補正位置及び姿勢誤差出力∧reが入力され、位置及び姿勢誤差補償出力Ureが、動力学補償部52に向けて出力される。
The position
動力学補償部52は、位置誤差補償部51から入力された位置及び姿勢誤差補償出力Ureを位置誤差補償に必要な各関節トルクτrに変換して、各関節トルクτr関節トルク指令計算部55に向けて出力する。
関節トルク変換部50の出力である各関節等価トルクτf、及び、動力学補償部52の出力である位置誤差補償に必要な各関節トルクτrを関節トルク指令計算部55により加算した関節トルク補償出力τが動作制御部13の出力となり、ロボット本体部10に出力される。
The joint torque obtained by adding each joint equivalent torque τ f output from the joint
関節トルク補償出力τは、入出力IF16のD/Aボードを介してロボット本体部10のモータドライバ17に電圧指令値として与えられ、各関節部のモータ20により各関節部が正逆回転駆動されて、ロボット本体部10が動作する。
The joint torque compensation output τ is given as a voltage command value to the
このように動作するロボット本体部10で、掃除部材8を床面9に押し付けるように力制御を行いつつ、床面9上で掃除部材8を動かすことで、掃除動作を行うことが出来る。
With the
動作軌道データベース14から動作制御部13に軌道が入力されたときの動作制御部13の動作ステップについて、図20のフローチャートに基づいて説明する。これらの動作ステップの機能は、制御プログラム12(図2参照)としてコンピュータにそれぞれ実行させることが可能なものである。
The operation steps of the
ロボット本体部10のロボットアーム5の関節部のそれぞれのエンコーダ21により計測された関節角度データ(関節変数ベクトル又は関節角度ベクトルq)が、エンコーダ21から入出力IF16を介して制御装置11に取り込まれる(ステップS21)。
Joint angle data (joint variable vector or joint angle vector q) measured by the
次いで、制御装置11に取り込まれた関節角度データ(関節変数ベクトル又は関節角度ベクトルq)に基づいて、近似逆運動学計算部54にて、ロボットアーム5の運動学計算に必要なヤコビ行列Jv等の計算を行う(ステップS22)。
Next, based on the joint angle data (joint variable vector or joint angle vector q) taken into the
次いで、順運動学計算部53にて、ロボット本体部10のロボットアーム5の関節部のそれぞれのエンコーダ21からの関節角度データ(関節変数ベクトル又は関節角度ベクトルq)から、ロボット本体部10のロボットアーム5の現在の手先位置及び姿勢ベクトルrを計算して、目標軌道生成部45と、位置誤差計算部47と、掃除方向決定部91と、掃除面種選択部18と、領域判定部90と動作軌道生成部95となどに出力する(ステップS23)。
Next, in the forward
次いで、力検出部7は、ロボット本体部10のロボットアーム5に取り付けられた力センサの出力情報を基に、ロボットアーム5の手先に発生している手先力ベクトルFを計算して、目標軌道生成部45と、力誤差計算部46と、掃除方向決定部91と、掃除面種選択部18と、領域判定部90となどに出力する(ステップS24)。
Next, the
次いで、後述する動作軌道生成部95により生成されるロボット本体部10の動作軌道と、ステップS23で順運動学計算部53により計算して求められた手先位置及び姿勢ベクトルrと、力検出部7から入力された現在の手先力ベクトルFとに基づき、目標軌道生成部45は、ロボット本体部10のロボットアーム5の手先位置及び姿勢目標ベクトルrd及び目標力ベクトルFdを計算する(ステップS25)。
Next, the motion trajectory of the
次いで、力誤差計算部46は、目標軌道生成部45からの目標力ベクトルFdと力検出部7から出力される現在の手先力ベクトルFとの差である誤差出力ベクトルFeを計算し、位置及び力制御方向選択部48に誤差出力ベクトルFeを出力する(ステップ26)。
Then, the force
次いで、位置誤差計算部47は、目標軌道生成部45からの手先位置及び姿勢目標ベクトルrdとステップS23で順運動学計算部53により計算して求められた現在の手先位置及び姿勢ベクトルrとの差である位置及び姿勢誤差reを計算し、位置及び力制御方向選択部48に位置及び姿勢誤差reを出力する(ステップ27)。
Then, the position
次いで、位置及び力制御方向選択部48は、力制御を行う方向と位置制御を行う方向とを切り分けて、力誤差補償部49と位置誤差補償部51とにそれぞれ方向補正力誤差出力∧Feと方向補正位置及び姿勢誤差出力∧reとを出力する(ステップ28)。
Next, the position and force control
次いで、力誤差補償部49は、位置及び力制御方向選択部48から入力された方向補正力誤差出力∧Feが0に収束するようにロボット本体部10を制御するための制御入力となる、力誤差補償出力UFeを計算して、力誤差補償部49から関節トルク変換部50に力誤差補償出力UFeを出力する(ステップS29)。力誤差補償部49の具体例としては、PID補償器が考えられる。定数の対角行列である比例、微分、積分の3つのゲインを適切に調整することにより、力誤差が0に収束するように力誤差補償部49の制御が働く。
Then, the force
次いで、関節トルク変換部50は、力誤差補償部49から入力された力誤差補償出力UFeを等価関節トルクτfにそれぞれ変換して、各関節等価トルクτfを関節トルク変換部50から出力する(ステップS30)。
Next, the joint
次いで、位置誤差補償部51は、位置及び力制御方向選択部48から入力された方向補正位置及び姿勢誤差出力∧reが0に収束するようにロボットアーム5を制御するための制御入力となる、位置及び姿勢誤差補償出力Ureを計算して、位置誤差補償部51から動力学補償部52に位置及び姿勢誤差補償出力Ureを出力する(ステップS31)。位置誤差補償部51の具体例としては、PID補償器が考えられる。定数の対角行列である比例、微分、積分の3つのゲインを適切に調整することにより、位置誤差が0に収束するように位置誤差補償部51の制御が働く。
Then, the position
次いで、動力学補償部52は、位置誤差補償部51から入力された位置及び姿勢誤差補償出力Ureを位置誤差補償に必要な各関節トルクτrに変換して、各関節トルクτr出力する(ステップS32)。
Next, the
次いで、ステップS30で計算された等価関節トルクτfとステップS32で計算された位置誤差補償関節トルクτrを関節トルク指令計算部55で加算して関節トルク補償出力τとし、動作制御部13から入出力IF16を介してロボットアーム10のモータドライバ17に出力する(ステップS33)。
Next, the equivalent joint torque τ f calculated in step S30 and the position error compensation joint torque τ r calculated in step S32 are added by the joint torque
次いで、関節トルク補償出力τは、入出力IF16を通じ、モータドライバ17に与えられ、モータドライバ17は、それぞれの関節トルク補償出力τに基づき、関節部のそれぞれのモータ20を流れる電流量をそれぞれ変化させる。このそれぞれの電流量の変化により、ロボット本体部10のロボットアーム5のそれぞれの関節部の回転運動が発生して、ロボット本体部10が動作を行なう(ステップS34)。
Next, the joint torque compensation output τ is given to the
以上のステップにより、ロボット本体部10は動作軌道データベース14から与えられた軌道に基づく動作を行うことが出来る。
Through the above steps, the
掃除面種切替部19は、掃除面種データベース15と掃除面種選択部18とを備えて構成され、ロボット本体部10の目標軌道と、ロボット本体部10の現在位置及び姿勢と力とから、掃除面の種類を選択する。
The cleaning surface
掃除面種データベース15は、掃除面の種類を選択するための情報(掃除面の掃除表面状態情報の一例)を保持している。掃除面の種類は、力検出部7から入力される手先力ベクトルFと順運動学計算部53から入力されるロボットの手先位置及び姿勢ベクトルrとを基に、選択できる。掃除面種データベース15について図6〜図15を用いて説明する。
The cleaning
まず、掃除面の種類の一例としての畳9aの模式図を図6に示す。図6の(a)に示すように、畳9aには織目9bが存在する。また、図7Aに掃除部材8が図6の(a)に示す5個の矢印A,A’,B,B’,Cの各方向になぞり動作を行った場合の力検出部7から検出できる掃除部材8と畳表面との間に発生する摩擦力の平均摩擦係数を示す。ここで、矢印Aは、畳9aの織目9bに沿った方向に掃除部材8を移動させる(なぞり動作させる)場合を示し、矢印A’は、矢印Aとは逆方向に、畳9aの織目9bに沿った方向に掃除部材8を移動させる(なぞり動作させる)場合を示す。矢印Bは、畳9aの織目9bを直角に横切る方向に掃除部材8を移動させる(なぞり動作させる)場合を示し、矢印B’は、矢印Bとは逆方向に、畳9aの織目9bを直角に横切る方向に掃除部材8を移動させる(なぞり動作させる)場合を示す。矢印Cは、畳9aの織目9bを斜めに横切る方向に掃除部材8を移動させる(なぞり動作させる)場合を示す。摩擦係数は、なぞり動作時の力検出部7の出力のうち、掃除面上の進行方向の力を、掃除面の垂直抗力で割ることで、摩擦係数が力検出部7で算出できる。畳9aの表面を矢印A及び矢印A’の方向に掃除部材8がなぞり動作を行った場合と、矢印B及び矢印B’の方向に掃除部材8がなぞり動作を行った場合では、掃除部材8と畳表面との間に発生する摩擦力の摩擦係数が異なり、矢印B及び矢印B’の方向のほうが大きい。また、それ以外の方向(例えば矢印C)の場合の摩擦係数は、矢印Aの場合の摩擦係数と矢印Bの場合の摩擦係数の間の中間の値となる。また、矢印Aと矢印A’ のように、及び、矢印Bと矢印B’のように、平行してかつ逆向きに動かした場合の平均摩擦係数はほぼ同じとなる。図7Bに、掃除部材8が図6の(a)に示す矢印の各方向に掃除部材8がなぞり動作を行った場合の、力検出部7から検出できる掃除部材8と畳表面との間に発生する摩擦力の摩擦係数の時間変化を示す。矢印A,矢印A’,矢印B,矢印B及び矢印Cとも、同一方向へのなぞり動作中の時間変化は少ない。なお、ここでは畳9aを例示したが、畳9aに限らず、畳9aと同じ構成材料であるイ草(藺草)を編んで形成している敷物又は座布団類にも、この情報は適用できる。
First, the schematic diagram of the
次に、掃除面の種類の別の例としてのフローリング9cの模式図を図8に示す。図8に示すように、フローリング9cには平行に溝9dがあるものがある。図8に示すような溝9dのあるフローリング9c上を、矢印E,E’,F,F’,Gの各方向に掃除部材8がなぞり動作を行った場合の、力検出部7から検出できる掃除部材8とフローリング表面との間に発生する摩擦力のなぞり方向と時間とに対する変化を図9A及び図9Bに示す。ここで、矢印Eは、フローリング9cの溝9dに沿った方向に掃除部材8を移動させる(なぞり動作させる)場合を示し、矢印E’は、矢印Eとは逆方向に、フローリング9cの溝9dに沿った方向に掃除部材8を移動させる(なぞり動作させる)場合を示す。矢印Fは、フローリング9cの溝9dを直角に横切る方向に掃除部材8を移動させる(なぞり動作させる)場合を示し、矢印F’は、矢印Fとは逆方向に、フローリング9cの溝9dを直角に横切る方向に掃除部材8を移動させる(なぞり動作させる)場合を示す。矢印Gは、フローリング9cの溝9dを斜めに横切る方向に掃除部材8を移動させる(なぞり動作させる)場合を示す。図9B〜図9Dに示すように、フローリング9cの表面を矢印E及び矢印E’の方向に掃除部材8がなぞり動作を行った場合は、掃除部材8が溝9dに当らないため、摩擦係数は動作中、常に小さい。矢印F,矢印F’及び矢印Gの方向では、掃除部材8が溝9dに当たるため、掃除部材8が引っ掛かりが生じ、摩擦係数が途中で変動する。また、矢印E及び矢印E’の方向では、図9Bに示すように、摩擦係数が途中で変動しないのに対して、矢印F,矢印F’及び矢印Gの方向では、図9C及び図9Dに示すように、摩擦係数が途中で増加するように大きく変動する。このため、平均摩擦係数は、矢印Eと矢印E’が小さく、矢印Fと矢印F’と矢印Gとが大きくなる。また、矢印Eと矢印E’、矢印Fと矢印F’のように、平行してかつ逆向きに動かした場合の平均摩擦係数は、ほぼ同じとなる。
Next, the schematic diagram of the
次に、掃除面の種類のさらに別の例としての、柄のない絨毯9eの模式図を図10A及び図10Bに示す。図10Bは、図10AのA方向から見た、絨毯9eの断面図である。図10Aで示すように、絨毯9eの一部の領域では、毛足9fが垂直ではなく、方向を持って織られている。図10Aに示すような絨毯9e上を矢印H,H’,I,I’,Jの各方向に掃除部材8がなぞり動作を行った場合の力検出部7から検出できる掃除部材8と絨毯表面との間に発生する摩擦力の平均摩擦係数を図11Aに示す。ここで、矢印Hは、絨毯9eの毛足9fを起こす方向に掃除部材8を移動させる(なぞり動作させる)場合を示し、矢印H’は、矢印Hとは逆方向に、絨毯9eの毛足9fを寝かす方向(すなわち、毛足9fを起こす方向と平行かつ逆向きの方向)に掃除部材8を移動させる(なぞり動作させる)場合を示す。矢印Iは、絨毯9eの毛足9fを起こす方向又は毛足9fを寝かす方向とは直交する方向に掃除部材8を移動させる(なぞり動作させる)場合を示し、矢印I’は、矢印Iとは逆方向に、絨毯9eの毛足9fを起こす方向又は毛足9fを寝かす方向とは直交する方向に掃除部材8を移動させる(なぞり動作させる)場合を示す。矢印Jは、絨毯9eの毛足9fを起こす方向又は毛足9fを寝かす方向とは斜めに交差する方向に掃除部材8を移動させる(なぞり動作させる)場合を示す。絨毯9eでは、毛足9fを起こす方向に掃除部材8がなぞり動作を行った場合(図10Aの矢印H方向の場合)に最も摩擦係数が大きく、毛足9fを寝かす方向、すなわち、毛足9fを起こす方向と平行かつ逆向きに掃除部材8がなぞり動作を行った場合(図10Aの矢印H’方向の場合)に最も摩擦係数が小さくなる。それ以外の方向の場合(図10Aの矢印I,I’,J方向の場合)では、それらの摩擦係数の中間の値をとる。また、図11Bに示すように、掃除部材8がなぞり動作中の摩擦係数の時間変化は、同一方向に掃除部材8がなぞり動作をしている際には摩擦係数はあまり変化がなく、平均摩擦係数と同じように矢印H方向が最も大きく、矢印H’方向が最も小さくなる。
Next, FIGS. 10A and 10B are schematic views of a
以上のことを基に、掃除面種データベース15の一例を図12に示す。掃除面種データベース15は、畳と、絨毯と、溝のあるフローリングとについて、掃除面の掃除表面状態情報の一例として、平均摩擦係数の最大値とその平均摩擦係数が最大値の場合の向きと直交する向きの平均摩擦係数との差μtdと、平均摩擦係数の最大値とその平均摩擦係数が最大値の場合の向きと逆向きの平均摩擦係数との差μta,μja,μfa,と、平均摩擦係数が最大となる方向におけるなぞり動作中の摩擦係数の最大値と最小値の差μtp,μjp,μfpとをそれぞれ保持している。ただし、絨毯とフローリングについては、平均摩擦係数が最大値の場合の向きとそれと直交する向きの平均摩擦係数の差を特に規定しない。
Based on the above, an example of the cleaning
掃除面種選択部18は、力検出部7から入力される手先力ベクトルFと順運動学計算部53から入力されるロボット本体部10の手先位置及び姿勢ベクトルrと掃除面種データベース15の情報とを基に、掃除面の種類を選択する。さらに、掃除面種選択部18は、掃除面種選択部18で選択した掃除面の種類の情報を掃除方向決定部91と動作軌道生成部95とに出力する。
The cleaning surface
掃除面種選択部18での掃除面の種類の選択動作(掃除面種選択動作)ステップについて、図13のフローチャートに基づいて説明する。
The cleaning surface type selection operation (cleaning surface type selection operation) step in the cleaning surface
始めに、後述するロボット本体部10の探索動作(掃除面種の情報を得るための移動動作)中の力検出部7から入力される手先力ベクトルFと順運動学計算部53から入力されるロボット本体部10のロボットアーム5の手先位置及び姿勢ベクトルrとを基に、なぞり動作の方向別の手先力Fntを掃除面種選択部18で算出して掃除面種選択部18で記憶し(図14参照)、さらに、なぞり動作の方向の力をなぞり面の垂直抗力で割ってなぞり動作方向別の摩擦係数μntを掃除面種選択部18で計算して掃除面種選択部18で記憶する(図15参照)(ステップS1)。
First, the hand force vector F input from the
具体的には、図14に示すように、では、時間t=1における方向1〜方向Nまでの手先力F11〜FN1と、時間t=2における方向1〜方向Nまでの手先力F12〜FN2と、時間t=3における方向1〜方向Nまでの手先力F13〜FN3と、・・・・・・、時間t=Tにおける方向1〜方向Nまでの手先力F1T〜FNTとを掃除面種選択部18で算出している。また、図15に示すように、時間t=1における方向1〜方向Nまでの摩擦係数μ11〜μN1と、時間t=2における方向1〜方向Nまでの摩擦係数μ12〜μN2と、時間t=3における方向1〜方向Nまでの摩擦係数μ13〜μN3と、・・・・・・、時間t=Tにおける方向1〜方向Nまでの摩擦係数μ1T〜μNTとを掃除面種選択部18で算出している。ここで方向とは、後述する探索動作におけるなぞり動作軌道の各方向(図17の点線の矢印方向を参照。)を指す。
Specifically, as shown in FIG. 14, the hand forces F 11 to F N1 from
次いで、各方向別に摩擦係数の平均値(平均摩擦係数)μ1〜μNを掃除面種選択部18で計算して記憶する(ステップS2)。これを、図15に、方向1〜方向Nまでの平均摩擦係数μ1〜μNとして示す。このとき、なぞり動作の開始直後と停止直前は、静止摩擦と動摩擦の切り替えにより摩擦係数が安定しないため、なぞり動作の開始直後と停止直前のデータは使用しない。
Next, the average value (average friction coefficient) μ 1 to μ N of the friction coefficient for each direction is calculated by the cleaning surface
次いで、掃除面種選択部18に記憶された各方向別に摩擦係数の平均値(平均摩擦係数)μ1〜μNのうちから、平均摩擦係数が最大値の場合の方向を掃除面種選択部18で抽出し、抽出した最大値の場合の方向でのなぞり動作中の摩擦係数のうち、最大の値と最小の値の差を掃除面種選択部18で求める(ステップS3)。例えば、図15において、平均摩擦係数が最大値の場合の方向が「方向2」であると掃除面種選択部18で抽出したとき、抽出した最大値の場合の方向である「方向2」のなぞり動作中の時間t=1〜時間t=Tまでの摩擦係数のうち、最大の値と最小の値の差を掃除面種選択部18で求める。
Next, the cleaning surface type selection unit selects the direction in which the average friction coefficient is the maximum value from the average values (average friction coefficient) μ 1 to μ N of the friction coefficient for each direction stored in the cleaning surface
次いで、ステップS3で計算した差が、掃除面種データベース15に記憶された、溝のあるフローリングでの平均摩擦係数が最大値の場合となる方向におけるなぞり動作中の摩擦係数の最大値と最小値の差μfp以上であるかどうかを掃除面種選択部18で判定する(ステップS4)。
Next, the difference calculated in step S3 is stored in the cleaning
以下は、ステップS4で、ステップS3で計算した差が、フローリングの前記差μfp以上であると掃除面種選択部18で判定した場合は、ステップS5に進む。以下、ステップS5以降の動作について説明する。
Hereinafter, in step S4, when the cleaning surface
ステップS5では、掃除面種選択部18に記憶された情報を基に、最大平均摩擦係数と、その最大平均摩擦係数の方向と平行かつその方向と逆向きでのなぞり動作中の平均摩擦係数との差を掃除面種選択部18で計算する。
In step S5, based on the information stored in the cleaning surface
次いで、ステップS5で計算した差が、掃除面種データベース15に記憶された、溝のあるフローリングでの平均摩擦係数の最大値とその平均摩擦係数が最大値の場合の向きと逆向きの平均摩擦係数との差μfa以下であるかどうかを、掃除面種選択部18で判定する(ステップS6)。
Next, the difference calculated in step S5 is stored in the cleaning
以下は、ステップS6で、ステップS5で計算した差が、前記差μfa以下であると掃除面種選択部18で判定した場合には、ステップS7に進む。
Thereafter, in step S6, when the cleaning surface
ステップS7では、掃除面種を、「溝ありのフローリング」であると掃除面種選択部18で決定し、面種が「フローリング」であるとの情報を、掃除面種選択部18から掃除方向決定部91と動作軌道生成部95とに出力して、一連の掃除面種選択動作ステップを終了する。前述の通り、フローリングの溝と直交する方向になぞり動作を行った場合に、平均摩擦係数が最も大きくなるため、フローリングの溝の方向は、最大平均摩擦係数の向きと直交する向きである。
In
一方、ステップS6で、ステップS5で計算した差が、前記差μfaより大きいと掃除面種選択部18で判定した場合には、ステップS8に進む。
On the other hand, in step S6, the difference calculated in step S5, if it is determined by the difference mu fa greater than the cleaned surface
ステップS8では、ステップS5で計算した差が前記差μfaより大きい場合については、掃除面種データベース15に記憶された情報を参照しても掃除面種を選択できないため、掃除面種が不明であると掃除面種選択部18で決定し、面種が不明であるとの情報を、掃除方向決定部91と動作軌道生成部95とに掃除面種選択部18から出力して、一連の掃除面種選択動作ステップを終了する。
In step S8, when the difference calculated in step S5 is larger than the difference μfa , the cleaning surface type cannot be selected even with reference to the information stored in the cleaning
以下は、ステップS4で、ステップS3で計算した差が、フローリングの前記差μfpより小さいと掃除面種選択部18で判定した場合は、ステップS9に進む。以下、ステップS9以降の動作について説明する。
Hereinafter, in step S4, when the cleaning surface
ステップS9では、掃除面種選択部18に記憶された情報を基に、最大平均摩擦係数と、その最大平均摩擦係数の方向と平行かつその方向と逆向きでの平均摩擦係数との差を掃除面種選択部18で計算する。
In step S9, based on the information stored in the cleaning surface
次いで、ステップS9で計算した差が、掃除面種データベース15に記憶された、絨毯での平均摩擦係数の最大値とその平均摩擦係数が最大値の場合の向きと逆向きの平均摩擦係数との差μja以上であるかどうかを掃除面種選択部18で判定する(ステップS10)。
Next, the difference calculated in step S9 is stored in the cleaning
以下は、ステップS10で、ステップS9で計算した差が、前記差μja以上であると掃除面種選択部18で判定した場合には、ステップS11に進む。
The following is a step S10, the difference calculated in step S9 is, if it is determined in cleaned surface
ステップS11では、掃除面種を絨毯であると掃除面種選択部18で決定し、面種が絨毯であるとの情報を、掃除面種選択部18から掃除方向決定部91と動作軌道生成部95とに出力して、一連の掃除面種選択動作ステップを終了する。毛並みの方向(例えば、毛足9fを起こす方向)は、最大平均摩擦係数の向きである。
In step S11, the cleaning surface
一方、ステップS10で、ステップS9で計算した差が、前記差μjaより小さいと掃除面種選択部18で判定した場合には、ステップ12に進む。
On the other hand, in step S10, the difference calculated in step S9 is, if it is determined by the difference mu niv smaller the cleaned surface
ステップ12では、ステップ9で計算した差が、掃除面種データベース15に記憶された、畳での平均摩擦係数の最大値とその平均摩擦係数が最大値の場合の向きと逆向きの平均摩擦係数との差μta以下であるかどうかを掃除面種選択部18で判定する。
In
以下は、ステップ12で、ステップ9で計算した差が、前記差μtaより大きいと掃除面種選択部18で判定した場合には、ステップS13に進む。
The following is a
ステップS13では、ステップ9で計算した差が前記差μtaより大きい場合については、掃除面種データベース15に記憶された情報を参照しても掃除面種を選択できないため、掃除面種を不明であると掃除面種選択部18で決定し、面種が不明であるとの情報を、掃除面種選択部18から掃除方向決定部91と動作軌道生成部95とに出力して、一連の掃除面種選択動作ステップを終了する。
In step S13, when the difference calculated in
一方、ステップ12で、ステップ9で計算した差が、前記差μta以下であると掃除面種選択部18で判定した場合には、ステップS14に進む。以下、ステップS14以降の動作について説明する。
On the other hand, if it is determined in
ステップS14では、掃除面種選択部18に記憶された情報を基に、最大平均摩擦係数と、その最大平均摩擦係数の方向と直交する方向の平均摩擦係数の差を掃除面種選択部18で計算する(ステップS14)。ある1つの直交する方向が存在すると、その逆向きも直交するため、最大平均摩擦係数の方向とその方向と直交する方向とが2つある場合もあるが、その場合の差は、小さいほうの差を掃除面種選択部18で選択する。
In step S14, based on the information stored in the cleaning surface
次いで、ステップS14で計算した差が、掃除面種データベース15に記憶された、畳での平均摩擦係数の最大値とその平均摩擦係数が最大値の場合の向きと直交する向きの平均摩擦係数との差μtd以上であるかどうかを掃除面種選択部18で判定する(ステップ15)。
Next, the difference calculated in step S14 is stored in the cleaning
以下は、ステップ15で、ステップS14で計算した差が、前記差μtd以上であると掃除面種選択部18で判定した場合には、ステップS16に進む。
The following is a
ステップS16では、掃除面種を畳と掃除面種選択部18で決定し、面種が畳であるとの情報を、掃除方向決定部91と動作軌道生成部95とに掃除面種選択部18から出力して、一連の掃除面種選択動作ステップを終了する。畳の織目方向とは、最大平均摩擦係数の方向と直交する方向である。
In step S <b> 16, the cleaning surface type is determined by the tatami mat and the cleaning surface
以下はステップ15で、ステップS14で計算した差が、前記差μtdより小さいと掃除面種選択部18で判定した場合には、ステップS17に進む。
The following is a
ステップS17では、ステップS14で計算した差が前記差μtdより小さい場合については、掃除面種データベース15に記憶された情報を参照しても掃除面種を選択できないため、掃除面種が不明であると掃除面種選択部18で決定し、面種が不明であるとの情報を、掃除方向決定部91と動作軌道生成部95とに掃除面種選択部18から出力して、一連の掃除面種選択動作ステップを終了する。
In step S17, when the difference calculated in step S14 is smaller than the difference μtd , the cleaning surface type cannot be selected even with reference to the information stored in the cleaning
以上のように、掃除面種選択部18は、掃除面種データベース15に記憶された情報を基に、掃除面種の情報を決定して、決定した結果の情報を、掃除方向決定部91と動作軌道生成部95とに出力する。
As described above, the cleaning surface
掃除方向決定部91は、掃除面種切替部19から出力される掃除面種と、力検出部7から入力される手先力ベクトルFと、順運動学計算部53から入力されるロボット本体部10の手先位置及び姿勢ベクトルrとに基づき、掃除面種に適した掃除方向を決定する。決定した掃除方向は、動作軌道データベース14に掃除方向決定部91から出力する。掃除方向決定部91により決定される「掃除面種に適した掃除方向」とは、畳では、織目に沿って往復する方向であり、絨毯では、往復動作のうちの往きの動作中に毛並みを起こして帰りの動作中に毛並みを整える方向であり、溝のあるフローリングでは、溝に平行に往復する方向などである。畳では織目の方向の判定、絨毯では毛並みの方向の判定、溝のあるフローリングでは溝の方向の判定は、前述の掃除面種データベース15と同様に、なぞり動作を行ったときの摩擦係数から掃除方向決定部91で判定できる。
The cleaning
以下、掃除方向決定部91での掃除方向決定動作ステップについて、図25のフローチャートに基づいて説明する。
Hereinafter, the cleaning direction determination operation step in the cleaning
始めに、後述するロボット本体部10の探索動作(掃除方向の情報を得るための移動動作)中の力検出部7から入力される手先力ベクトルFと順運動学計算部53から入力されるロボット本体部10のロボットアーム5の手先位置及び姿勢ベクトルrとを基に、なぞり動作の方向別の手先力Fntを掃除方向決定部91で算出して掃除方向決定部91に記憶する(図14参照)、さらに、なぞり動作の方向の力を、なぞり面の垂直抗力で割って、なぞり動作方向別の摩擦係数μntを掃除方向決定部91で計算して掃除方向決定部91に記憶する(図15参照)(ステップS61)。
First, a hand force vector F input from the
次いで、掃除方向決定部91内に記憶された情報に基づき、各方向別に摩擦係数の平均値(平均摩擦係数)を掃除方向決定部91で計算する(ステップS62)。このとき、なぞり動作の開始直後と停止直前は、静止摩擦と動摩擦の切り替えにより摩擦係数が安定しないため、なぞり動作の開始直後と停止直前のデータは使用しない。
Next, based on the information stored in the cleaning
次いで、掃除面種選択部18から掃除方向決定部91に入力された掃除面種の情報を基に、掃除面種が絨毯であるかどうかを掃除方向決定部91で判定する(ステップS63)。
Next, based on the information on the cleaning surface type input from the cleaning surface
ステップS63で、掃除面種が絨毯であると掃除方向決定部91で判定した場合には、ステップS64に進む。
If the cleaning
ステップS64では、掃除方向決定部91内に記憶された情報に基づき、平均摩擦係数が最大値の場合の方向を掃除方向決定部91で抽出して、抽出された情報を、掃除方向決定部91から動作軌道生成部95に出力して、一連の掃除方向決定動作を終了する。前述の通り、毛並みの方向は、最大平均摩擦係数の向きである。
In step S64, based on the information stored in the cleaning
一方、ステップS63で、掃除面種が絨毯以外であると掃除方向決定部91で判定した場合には、ステップS65に進む。
On the other hand, when the cleaning
ステップS65では、掃除面種選択部18から掃除方向決定部91に入力された掃除面種の情報を基に、掃除面種がフローリングであるかどうかを掃除方向決定部91で判定する。
In step S65, the cleaning
ステップS65で、掃除面種がフローリングであると掃除方向決定部91で判定した場合には、ステップS66に進む。
If the cleaning
ステップS66では、掃除方向決定部91内に記憶された情報に基づき、平均摩擦係数が最大値の場合の方向と直交する方向を掃除方向決定部91で抽出して、抽出された情報を、掃除方向決定部91から動作軌道生成部95に出力して、一連の掃除方向決定動作を終了する。前述の通り、溝と直交する方向になぞり動作を行った場合に、最も平均摩擦係数が大きくなるため、溝の方向は、最大平均摩擦係数の向きと直交する向きである。
In step S66, based on the information stored in the cleaning
一方、ステップS65で、掃除面種がフローリング以外であると掃除方向決定部91で判定した場合には、ステップS67に進む。
On the other hand, when the cleaning
ステップS67では、掃除面種選択部18から掃除方向決定部91に入力された掃除面種の情報を基に、平均摩擦係数が最小の方向を掃除方向決定部91で抽出して、抽出された情報を、掃除方向決定部91から動作軌道生成部95に出力して、一連の掃除方向決定動作を終了する。このように平均摩擦係数が最小の方向を出力する理由は、以下の通りである。絨毯以外でかつフローリング以外の場合、畳の場合か、又は、面種不明の場合が相当するが、畳の場合、畳の織目方向は平均摩擦係数が最も小さくなる方向である。また、面種不明の場合、掃除面を傷つけないために、摩擦すなわち抵抗が小さい方向に掃除をするのが望ましいと考えられるため、平均摩擦係数が最小の方向を出力する。
In step S67, based on the information on the cleaning surface type input from the cleaning surface
以上のように、掃除方向決定部91は、掃除面種切替部19から出力される掃除面種と、力検出部7から入力される手先力ベクトルFと、順運動学計算部53から入力されるロボット本体部10の手先位置及び姿勢ベクトルrとに基づき、掃除面にそれぞれ適した掃除方向を決定し、決定情報を動作軌道生成部95に出力することが出来る。
As described above, the cleaning
動作軌道生成部95は掃除方向決定部91から入力される掃除方向と、掃除面種選択部18から入力される掃除面種情報を元に、動作軌道データベース14から適切な掃除動作軌道を読み込み、ロボット本体部10の手先位置及び姿勢の軌道を生成するし、目標軌道生成部45に出力する。同時に生成した清掃動作を記憶する。さらに、後述する探索動作を行う時は動作軌道データベース14から探索動作軌道を読み込み、目標軌道生成部45に出力する。
The operation
ここで、動作軌道データベース14には、事前に、それぞれの時間(t=0、t=t1、t=t2、・・・)でのポイントごとの位置(rd0、rd1、rd2、・・・)及び力(Fd0、Fd1、Fd2、・・・)が与えられている。その一例を図16に示す。図16は、それぞれの掃除面種に対して行うべき清掃動作を示す、動作軌道データベース14の一例である。図16における、掃除方向のプラス記号「+」は、掃除方向決定部91から、動作軌道生成部95に入力された掃除方向を意味する。掃除方向のマイナス記号「−」は、プラスの方向と逆向きの方向を意味する。
Here, in the
図16の例では、畳掃除は、織目に沿って往復運動を行う形で掃除を行い、往復運動の往きと帰りでは、掃除面の差が無いため、同じ力(図16の例では、5N)をかけて掃除を行う。絨毯掃除では、まず、往復運動の往きに、毛足9fを起こす方向に掃除し、次に、帰りに、毛足を元に戻す方向に掃除する。往きは、毛足を起こしながら掃除するため、掃除部材8の押付力を強目にして(図16の例では、10Nで)掃除し、帰りは、毛並みを整えるために、掃除部材の押付力を弱める(図16の例では、5Nまで減少させる)。フローリング掃除では、フローリングの溝に平行な向きに往復運動して掃除を行い、往復運動の往きと帰りでは、掃除面の差が無いため、同じ力(図16の例では、3N)をかけて掃除を行う。なお、掃除面種が不明の場合には、往復運動の往きと帰りでは、掃除面の差が無いと仮定して、同じ力(図16の例では、5N)をかけて掃除を行う。
In the example of FIG. 16, the tatami cleaning is performed by reciprocating along the texture, and there is no difference in the cleaning surface between the back and forth of the reciprocating motion, so the same force (in the example of FIG. 16, 5N) to clean. In the carpet cleaning, first, in the reciprocating motion, cleaning is performed in the direction of raising the
また、動作軌道データベース14には、掃除面種及び掃除面方向を判断するための情報を得るための探索動作の軌道も与えられている。探索動作軌道の一例を図17に示す。
The
図17は、床面9に対して掃除を行うときの自走式掃除ロボット1を上空から見た図である。掃除部材8を掃除面である床面9に押付けながら、ロボット本体部2は静止したままで、ロボットアーム5を駆動して矢印の方向に掃除部材8でなぞり動作を行い、なぞり動作中の方向と、そのときの力検出部7からの出力である手先の力とを掃除面種選択部18に入力することで、掃除面種選択部18は掃除面種の判断が可能となり、動作中の方向とそのときの力検出部7からの出力である手先の力を、力検出部7から掃除方向決定部91に入力することで、掃除方向決定部91は掃除面種の判断が可能となる。
FIG. 17 is a view of the self-propelled
領域判定部90は、力検出部7から入力される手先力ベクトルFと順運動学計算部53から入力されるロボット本体部10の手先位置及び姿勢ベクトルrとを基に、領域の切り替わりを判定し、判定結果の情報を領域判定部90から動作軌道データベース14に出力する。領域判定部90について、図18A及び図18B、図19を用いて説明する。
The
図18Aは、6畳間の畳9aの敷き方(1つの部屋の長方形の床に6枚の畳9aを敷く敷き方)の一例である。矢印は、ロボット本体部10の掃除部材8の軌跡を示している。図18Aのy軸と平行な向きの矢印に沿った移動軌跡β,β',β'',β'''では、掃除部材8を掃除面に押し付け、拭き掃除を行い、x軸と平行な向きの矢印に沿った移動軌跡α,α',α'',α'''では、掃除部材8を掃除面に押し付けない状態で掃除面上で掃除部材8の移動のみを行うことで、畳9aの織目9bに沿った拭き掃除を、掃除部材8で行っている状態を示している。しかし、図18AのA点において、それまでに掃除していた畳(織目9bがy軸と平行な畳)9aから別の畳(織目9bがx軸と平行な畳)9aに切り替わることで、別の畳9aでは、x軸と平行な織目9bとは直交した方向に沿った掃除部材8の移動軌跡での拭き掃除となる。この拭き掃除中の摩擦係数の変化と、y軸の正の方向に拭き動作中の摩擦係数の平均値(平均摩擦係数μ)と、時間との関係を、図18Bに示す。図18Aの軌道で拭き掃除を行うと、掃除部材8を押し付けずに移動しているときは摩擦係数は0になり、実際に掃除部材8が掃除を行っているときは摩擦係数が増加し、さらに、A点では織目9bと垂直に拭き掃除を行うため、より摩擦係数が増加するため、摩擦係数の変化は図18Bの実線のようになる。図18Bの実線が、右端近傍のA点に対応する時間となったときに、摩擦係数が大きく増加していることがわかる。また、y軸の正の方向に拭き掃除を行っているときの平均摩擦係数は、図18Bの「×」の記号で示される。
FIG. 18A is an example of how to lay a
図19Aは、絨毯9e、及び、絨毯掃除中のロボット本体部10の掃除部材8の軌跡を示している。図19Aのy軸と平行な向きの矢印に沿った移動軌跡β,β',β''では、掃除部材8を掃除面に押し付け、拭き掃除を行い、x軸と平行な向きの矢印に沿った移動軌跡α,α',α'',α'''では、掃除部材8を掃除面に押し付けない状態で掃除面上で掃除部材8の移動のみを行うことで、絨毯9eの毛並みに沿った拭き掃除を行っている状態を示している。しかし、図19AのB点において、絨毯9eからフローリング9cに切り替わることで、掃除面種が切り替わる。この拭き掃除中の摩擦係数の変化と、y軸の正の方向に拭き動作中の摩擦係数の平均値(平均摩擦係数μ)と、時間との関係を、図19Bに示す。図19Aの軌道で拭き掃除を行うと、掃除部材8を押し付けずに移動しているときは摩擦係数は0になり、実際に掃除部材8が掃除を行っているときは摩擦係数が増加し、特に、y軸の正方向沿いに拭き掃除を行っているときがy軸の負方向に拭き掃除を行っているときよりも摩擦係数が大きい。さらに、B点では、絨毯9eが終わり、フローリング9cに対する拭き掃除を行うため、摩擦係数が絨毯掃除時より小さくなるため、摩擦係数の変化は、図19Bの実線のようになる。図19Bの実線が、右端近傍のB点に対応する時間となったときに、摩擦係数が相当小さくなっていることがわかる。また、y軸の正の方向に拭き掃除を行っているときの平均摩擦係数は、図19Bの「×」の記号で示される。
FIG. 19A shows the locus of the
そこで、領域判定部90は、実際の拭き動作中の手先力ベクトルFとロボット本体部10の手先位置及び姿勢ベクトルrとから、掃除の往復運動のうち、往きの方向に掃除時の平均摩擦係数を逐次計算し、記憶する。さらに、往きの方向に拭き掃除を行う際に、今回の平均摩擦係数と前回の平均摩擦係数の差を領域判定部90で計算し、計算で得られた差が、事前に設定された閾値を越えた場合には、領域が変ったと領域判定部90で判定し、判定した領域判定情報を領域判定部90から動作軌道データベース14に出力する。計算で得られた差が、事前に設定された閾値以下の場合には、領域が変っていないと領域判定部90で判定し、判定した領域判定情報を領域判定部90から動作軌道データベース14に出力する。
Therefore, the
以上のロボット本体部10の掃除動作を図21のフローチャートに基づいて説明する。
まず、ロボット本体部10が起動すると、始めに、動作軌道データベース14から探索動作(一例としては、図17の矢印のような移動動作)の軌道が動作制御部13に出力される(ステップS41)。
The above-described cleaning operation of the
First, when the
次いで、ロボット本体部10は、探索動作の軌道に基づき、ロボット本体部2は静止したままで、ロボットアーム5を駆動して掃除部材8を移動させて探索動作を行う(ステップS42)。探索動作時は掃除時と違い、掃除面の方向特性に沿わない方向にも動作するため、掃除時に比べ、掃除面への押付力を小さく設定しておくと、掃除面への影響が小さく出来て、望ましい。探索動作中のロボットアーム5の手先位置及び姿勢ベクトルrと、手先力ベクトルFとは、動作制御部13の順運動学計算部53と、力検出部7とにより、それぞれ得られる。
Next, based on the trajectory of the search operation, the robot
次いで、掃除面種選択部18は、ロボット本体部10の探索動作中のロボットアーム5の手先位置及び姿勢ベクトルrと手先力ベクトルFとに基づき、図13の掃除面種選択動作ステップを行なうことにより、掃除面種の選択を行い、動作軌道データベース14及び掃除方向決定部91に選択結果を出力する(ステップS43)。
Next, the cleaning surface
次いで、掃除方向決定部91は、ロボット本体部10の探索動作中の手先位置及び姿勢ベクトルrと手先力ベクトルFと掃除面種選択部18の出力である掃除面種とに基づき、図25の掃除方向決定動作ステップを行うことにより、掃除面に適した掃除方向の判定を行い、動作軌道データベース14に判定結果を出力する(ステップS44)。
Next, the cleaning
次いで、動作軌道データベース14は、掃除面種判定結果及び掃除面に適した掃除方向の判定結果に基づき、ロボット本体部10の掃除動作の軌道を動作制御部13の目標軌道生成部45に出力する(ステップS45)。
Next, the
次いで、ロボット本体部10は、掃除動作の軌道に沿って掃除部材8を、必要に応じてロボット本体部2と共に移動して掃除動作を行う(ステップS46)。
Next, the
次いで、領域判定部90は、ロボット本体部10の探索動作中の手先位置及び姿勢ベクトルrと手先力ベクトルFとに基づき、領域の切り替り判定を行う(ステップS47)。
Next, the
以下は、ステップS47にて、領域の切り替りは発生していないと領域判定部90で判断された場合について説明する。
Hereinafter, a case will be described in which the
切り替りが発生していないと領域判定部90で判定した場合は、ステップS45〜S47が繰り返されることによって、ロボット本体部10は、掃除面種の方向特性に応じた掃除方向に掃除を継続することが出来る。
When the
以下は、ステップS47にて、切り替りが発生したと領域判定部90で判断された場合について説明する。
The following describes the case where the
次いで、領域判定部90がステップS47において領域の切替りが発生したと領域判定部90で判断した場合は、領域判定部90から動作軌道生成部95に領域の切り替りが発生したことを領域判定部90から出力する(ステップS48)。
Next, when the
次いで、動作軌道生成部95は掃除動作を停止させる軌道を生成する。さらに記憶している直前の軌道を参照し、今までの軌道を逆戻りし切り替わる前の領域に移動する動作の軌道を生成する。動作軌道生成部95は以上の軌道を動作制御部13に出力する(ステップS49)。
Next, the operation
次いで、ロボット本体部10は、動作制御部13に出力された切り替わる前の領域に移動する動作のための軌道に基づき、移動動作を行い、切り替わる前の領域に移動する(ステップS50)。
Next, the
以上のステップS45〜S50が繰り返されることにより、ロボット本体部10は掃除面種の方向特性に応じた掃除方向に掃除を継続することが出来る。
By repeating the above steps S45 to S50, the
図21のフローチャートに基づいてロボット本体部10が畳の上で動作したときのロボット本体部10のロボットアーム5の手先の掃除部材8の移動軌道の一例を図22に示す。図22のA地点(掃除部材8が右側の畳9aの右端縁の中央付近に位置している地点)において自走式掃除ロボット1が起動し、動作軌道生成部95は探索軌道を出力し、自走式掃除ロボット1は探索動作を行う。同時に動作軌道生成部95は出力した軌道を記憶する。(ステップS41〜S42)。掃除面種選択部18が畳であることを選択し、掃除方向決定部91が畳の織目方向を動作軌道生成部95に出力することで、動作軌道生成部95は、畳(右側の畳)の織目に沿った掃除動作軌道を出力する。それにより、自走式掃除ロボット1は、畳(右側の畳)の織目に沿った掃除を行いながら、移動する(ステップS43〜S46)。図22の例では、畳(右側の畳)の織目に沿った方向(図22の上下方向)に往復運動をしながら徐々に左方向に進行している。また、この掃除動作中に、領域判定部90は領域の切り替り判定を行っている。自走式掃除ロボット1が掃除をしながら畳が切り替わる場所(右側の畳から左側の畳に切り替わる図22のBの地点)まで移動したとき、領域判定部90は領域の切り替わりと判定する(ステップS47〜S48)。次に、動作軌道生成部95は掃除を中止する軌道を生成する。動作軌道生成部95は、さらに記憶していた直前の軌道を基に、元の領域内に戻る軌道を生成する。動作軌道生成部95は、作成した軌道を動作制御部13に出力する。その軌道に基づいて自走式掃除ロボット1はB地点からC地点への移動を行う(ステップS49〜50)。そして、再び、動作軌道データベース14は畳(右側の畳)の織目に沿った掃除軌道を出力し、自走式掃除ロボット1は、左側の畳のC地点から右方向に移動して右側の畳の掃除動作を行う。
FIG. 22 shows an example of the movement trajectory of the cleaning
以上の清掃動作を行うロボット1の起動から停止を図28のフローチャートに基づいて説明する。
The starting and stopping of the
まず、ロボット1が起動し、前述された清掃動作を行う(ステップS90)。
次いで、電源の切断を行う(ステップS91)。電源が切れるのは、例えば、タイマーで予め決められた時間が来たら切れてもよく、又は、一般的に人が電源ボタンを操作して電源が切れるのでもよい。
First, the
Next, the power is turned off (step S91). For example, the power may be turned off when a predetermined time is reached by a timer, or the person may generally turn off the power by operating a power button.
以上のステップS90〜S91の動作により、ロボット1は起動から自動で清掃動作を行い、停止することができる。
Through the operations in steps S90 to S91, the
以上のように、本発明の前記第1実施形態にかかる掃除ロボット1によれば、掃除をする際に、掃除面と掃除部材8との間に発生する力を検出することにより、掃除を行う面の材質に応じて掃除の方向を変更することで、人間が行ってきた適切な掃除方向での掃除を実現できる自走式掃除ロボット、自走式掃除ロボットの制御装置及び方法、並びに、自走式掃除ロボットの制御プログラムを提供することができる。
As described above, according to the
また、本第1実施形態では掃除面切替部19によって選択される掃除面種を絨毯とフローリングと畳との3種類からの選択としたが、必ずしも3種類から掃除面種を選択する必要はなく、このうちの少なくとも2種類から掃除面種を選択するようにしてもよい。
In the first embodiment, the cleaning surface type selected by the cleaning
(第2実施形態)
一例として、図26にフローリングと絨毯の2種類から選択する場合のフローチャートを本発明の第2実施形態として示す。
(Second Embodiment)
As an example, FIG. 26 shows a flowchart when selecting from two types of flooring and carpet as a second embodiment of the present invention.
2種類から選択する場合の掃除面種選択部18での掃除面種選択動作ステップについて、一例として、図26のフローチャートに基づいて説明する。
The cleaning surface type selection operation step in the cleaning surface
始めに、前述されたロボット本体部10の探索動作(掃除面種の情報を得るための移動動作)中の力検出部7から入力される手先力ベクトルFと順運動学計算部53から入力されるロボット本体部10のロボットアーム5の手先位置及び姿勢ベクトルrを基に、なぞり動作の方向別の手先力Fntを掃除面種選択部18で算出して掃除面種データベース15に記憶し(図14参照)、さらに、なぞり動作の方向の力をなぞり面の垂直抗力で割ってなぞり動作方向別の摩擦係数μntを掃除面種選択部18で計算して掃除面種データベース15に記憶する(図15参照)(ステップS71)。
First, the hand force vector F input from the
次いで、各方向別に摩擦係数の平均値(平均摩擦係数)μ1〜μNを掃除面種選択部18で計算して掃除面種データベース15に記憶する(ステップS72)。これを、図15に、方向1〜方向Nまでの平均摩擦係数μ1〜μNとして示す。このとき、なぞり動作の開始直後と停止直前は、静止摩擦と動摩擦の切り替えにより摩擦係数が安定しないため、なぞり動作の開始直後と停止直前のデータは使用しない。
Next, the average value (average friction coefficient) μ 1 to μ N of the friction coefficient for each direction is calculated by the cleaning surface
次いで、掃除面種選択部18で計算して掃除面種データベース15に記憶された各方向別に摩擦係数の平均値(平均摩擦係数)μ1〜μNのうちから、平均摩擦係数が最大値の場合の方向を掃除面種選択部18で抽出し、抽出した最大値の場合の方向でのなぞり動作中の摩擦係数のうち、最大の値と最小の値の差を掃除面種選択部18で求める(ステップS73)。
Next, the average friction coefficient is the maximum value among the average values (average friction coefficients) μ 1 to μ N of the friction coefficients for each direction calculated by the cleaning surface
次いで、ステップS73で計算した差が、掃除面種データベース15に記憶された、溝のあるフローリングでの平均摩擦係数が最大値の場合となる方向におけるなぞり動作中の摩擦係数の最大値と最小値の差μfp以上であるかどうかを掃除面種選択部18で判定する(ステップS74)。
Next, the difference calculated in step S73 is stored in the cleaning
以下は、ステップS74で、ステップS73で計算した差が、フローリングの前記差μfp以上であると掃除面種選択部18で判定した場合は、ステップS75に進む。以下、ステップS75以降の動作について説明する。
Hereinafter, in step S74, if the cleaning surface
ステップS75では、掃除面種データベース15に記憶された情報を基に、最大平均摩擦係数と、その最大平均摩擦係数の方向と平行かつその方向と逆向きでのなぞり動作中の平均摩擦係数との差を掃除面種選択部18で計算する。
In step S75, based on the information stored in the cleaning
次いで、ステップS75で計算した差が、掃除面種データベース15に記憶された、溝のあるフローリングでの平均摩擦係数の最大値とその平均摩擦係数が最大値の場合の向きと逆向きの平均摩擦係数との差μfa以下であるかどうかを、掃除面種選択部18で判定する(ステップS76)。
Next, the difference calculated in step S75 is stored in the cleaning
以下は、ステップS76で、ステップS75で計算した差が、前記差μfa以下であると掃除面種選択部18で判定した場合には、ステップS77に進む。
The following is a step S76, the difference calculated in step S75 is, if it is determined in cleaned surface
ステップS77では、掃除面種を、「溝ありのフローリング」であると掃除面種選択部18で決定し、面種が「フローリング」であるとの情報を、掃除面種選択部18から動作軌道データベース14と掃除方向決定部91とに出力、一連の掃除面種選択動作ステップを終了する。前述の通り、フローリングの溝と直交する方向になぞり動作を行った場合に、平均摩擦係数が最も大きくなるため、フローリングの溝の方向は、最大平均摩擦係数の向きと直交する向きである。
In step S77, the cleaning surface type is determined by the cleaning surface
一方、ステップS76で、ステップS75で計算した差が、前記差μfaより大きいと掃除面種選択部18で判定した場合には、ステップS78に進む。
On the other hand, in step S76, the difference calculated in step S75 is, if it is determined by the difference mu fa greater than the cleaned surface
ステップS78では、ステップS75で計算した差が前記差μfaより大きい場合については、掃除面種データベース15に記憶された情報を参照しても掃除面種を選択できないため、掃除面種を不明と決定し、面種が不明であるとの情報を、動作軌道データベース14と掃除方向決定部91とに掃除面種選択部18から出力して、一連の掃除面種選択動作ステップを終了する。
In step S78, when the difference calculated in step S75 is larger than the difference μfa , the cleaning surface type cannot be selected even with reference to the information stored in the cleaning
以下は、ステップS74で、ステップS73で計算した差が、フローリングの前記差μfpより小さいと掃除面種選択部18で判定した場合は、ステップS79に進む。以下、ステップS79以降の動作について説明する。
Hereinafter, in step S74, if the cleaning surface
ステップS79では、掃除面種データベース15に記憶された情報を基に、最大平均摩擦係数と、その最大平均摩擦係数の方向と平行かつその方向と逆向きでの平均摩擦係数との差を掃除面種選択部18で計算する。
In step S79, based on the information stored in the cleaning
次いで、ステップS79で計算した差が、掃除面種データベース15に記憶された、絨毯での平均摩擦係数の最大値とその平均摩擦係数が最大値の場合の向きと逆向きの平均摩擦係数との差μja以上であるかどうかを掃除面種選択部18で判定する(ステップS80)。
Next, the difference calculated in step S79 is stored in the cleaning
以下は、ステップS80で、ステップS79で計算した差が、前記差μja以上であると掃除面種選択部18で判定した場合には、ステップS81に進む。
Hereinafter, in step S80, when the cleaning surface
ステップS11では、掃除面種を絨毯であると掃除面種選択部18で決定し、面種が絨毯であるとの情報を、掃除面種選択部18から動作軌道データベース14と掃除方向決定部91とに出力して、一連の掃除面種選択動作ステップを終了する(ステップS81)。毛並みの方向は、最大平均摩擦係数の向きである。
In step S11, the cleaning surface
一方、ステップS80で、ステップS79で計算した差が、前記差μjaより小さいと掃除面種選択部18で判定した場合には、ステップ82に進む。
On the other hand, in step S80, the difference calculated in step S79 is, if it is determined by the difference mu niv smaller the cleaned surface
ステップ82では、掃除面種を不明であると掃除面種選択部18で決定し、面種が不明であるとの情報を、掃除面種選択部18から動作軌道データベース14と掃除方向決定部91とに出力して、一連の掃除面種選択動作ステップを終了する。
In
以上のように、掃除面種の選択は、少なくとも2種類からの選択も可能となる。 As described above, the cleaning surface type can be selected from at least two types.
また、前記第1及び第2実施形態では掃除面切替部19は掃除面種選択部18と掃除面種データベース15から構成し、掃除面種を推定するとしたが、これに限られるものではなく、図27に示すように、ロボット本体部10に掃除面種選択スイッチ19Sを持ち、人が掃除面種選択スイッチ19Sによって掃除面を決定して掃除面種の情報を掃除面切替部19に入力する構成にしてもよい。このようにすれば、掃除面切替部19では、掃除面種選択スイッチ19Sから入力された掃除面種の情報を、動作軌道データベース14と掃除方向決定部91とに出力することにより、一連の掃除面種選択動作ステップを省略することができる。
In the first and second embodiments, the cleaning
また、前記第1及び第2実施形態では、領域の切り替わりであると領域判定部90で判定した後(ステップS48)、掃除を中止して移動する(ステップS49)としたが、領域の切り替わりと判定した後、再び、探索動作を行うことで、新しい掃除方向を探索するとしてもよい。このようにすれば、次々と領域が切替るような掃除面の掃除において、領域が切替っても適宜適切な掃除方向を選択でき、適切な掃除方向の掃除が可能となる。
In the first and second embodiments, after the
また、前記第1及び第2実施形態では、探索動作を起動時に行うとしたが、掃除中に適宜行うとしてもよい。このようにすれば、より適切な掃除方向での掃除を実現することができる。 In the first and second embodiments, the search operation is performed at the time of start-up, but may be appropriately performed during cleaning. In this way, cleaning in a more appropriate cleaning direction can be realized.
また、前記第1及び第2実施形態では、図1に示すように、ロボットアーム5を備えた拭き掃除ロボットに限らず、例えば図23に示すように、ロボット胴体部2内に配置された吸引ポンプ駆動回路60と回転ブラシ駆動装置63とをそれぞれ駆動することによって、回転ブラシ駆動装置63の駆動により吸引ノズル62に取り付けられた回転ブラシ64が回転させながら、吸引ポンプ駆動回路60の駆動により吸引ポンプ66により吸引を行い、吸引ノズル62から吸引された塵が、ロボットアーム5に内蔵された吸引ホース65を通って、ロボット胴体部2内に配置された塵袋61に集められる吸引型の掃除ロボットとしてもよい。なお、回転ブラシ駆動装置63には、回転ブラシ64を床面9の掃除面に向けて押圧する機能も有するようにするのが好ましい。
Further, in the first and second embodiments, as shown in FIG. 1, the suction pump is not limited to the wiping robot provided with the
また、前記第1又は第2実施形態の掃除ロボット1は、図24A及び図24Bに示すようにロボットアーム5を備えず、胴体部2の下部より吸引する掃除ロボットとしてもよい。
Moreover, the cleaning
なお、上記様々な実施形態及び変形例のうちの任意の実施形態又は任意の変形例を適宜組み合わせることにより、それぞれの有する効果を奏するようにすることができる。 In addition, it can be made to show the effect which each has by combining arbitrary embodiment or arbitrary modifications of the said various embodiment and modifications suitably.
本発明は、自走式掃除ロボット、自走式掃除ロボットの制御装置及び方法、並びに、自走式掃除ロボットの制御プログラムは、自走式掃除ロボットが掃除をする際に、掃除面と掃除部材との間に発生する力を検出することにより、掃除を行う掃除面の材質に応じて掃除ノズル又は拭き掃除手段などの掃除手段の進行方向を変更することで、人間が行ってきた適切な掃除方向での掃除を実現できてとして有用である。 The present invention relates to a self-propelled cleaning robot, a control device and method for the self-propelled cleaning robot, and a control program for the self-propelled cleaning robot. By changing the direction of travel of the cleaning means such as the cleaning nozzle or the wiping cleaning means according to the material of the cleaning surface to be cleaned by detecting the force generated between It is useful as it can realize cleaning in
1 掃除ロボット
2 胴体部
3 車輪
3a 右車輪
3b 左車輪
4 補助輪
5 ロボットアーム
7 力検出部
8 掃除部材
8a 掃除部材取り付け部
9 床面
10 ロボット本体部
11 制御装置
12 制御プログラム
13 動作制御部
14 動作軌道データベース
15 掃除面種データベース
16 入出力IF
17 モータドライバ
18 掃除面種選択部
19 掃除面種切替部
19S 掃除面種選択スイッチ
20 モータ
21 エンコーダ
24 第1関節部
25 第2関節部
26 第3関節部
27 第4関節部
28 第5関節部
29 第6関節部
30 手先取り付け部材
31 手首部
32 前腕リンク
33 上腕リンク
34 台部
34a 上側可動部
34b 下側固定部
35 絶対座標系
36 手先座標系
40 モータ
41 エンコーダ
45 目標軌道生成部
46 力誤差計算部
47 位置誤差計算部
48 位置及び力制御方向選択部
49 力誤差補償部
50 関節トルク変換部
51 位置誤差補償部
52 動力学補償部
53 順運動学計算部
54 近似逆運動学計算部
55 関節トルク指令計算部
60 吸引ポンプ駆動回路
61 塵袋
62 吸引ノズル
63 回転ブラシ駆動装置
64 回転ブラシ
65 吸引ホース
66 吸引ポンプ
70 移動体
71 移動手段
90 領域判定部
91 掃除方向決定部
92 掃除面種選択スイッチ
94 軌道生成部
95 動作軌道生成部
DESCRIPTION OF
DESCRIPTION OF
Claims (10)
前記掃除手段と前記掃除面とに働く力を検出して出力する力検出部と、
前記力検出部で検出した力に基づき、前記掃除手段を前記床面の前記掃除面に接触させて前記掃除面に沿って掃除を行う方向を決定する掃除方向決定手段と、
前記掃除方向決定手段により決定された前記掃除方向に沿った掃除軌道を生成する軌道生成手段とを備えて、
前記移動手段により、前記軌道生成手段で生成された前記掃除軌道に沿って前記移動体を移動させて、前記掃除手段で前記掃除面に対する掃除を行う自走式掃除ロボット。 A moving body, a moving means for moving the moving body on the floor, and a cleaning means arranged on the moving body and cleaning the cleaning surface of the floor by moving the moving body by the moving means In a self-propelled cleaning robot comprising
A force detector that detects and outputs a force acting on the cleaning means and the cleaning surface;
Based on the force detected by the force detector, a cleaning direction determining means for determining a direction in which the cleaning means is brought into contact with the cleaning surface of the floor and cleaning is performed along the cleaning surface;
A trajectory generating means for generating a cleaning trajectory along the cleaning direction determined by the cleaning direction determining means,
A self-propelled cleaning robot that moves the moving body along the cleaning trajectory generated by the trajectory generating means by the moving means and cleans the cleaning surface by the cleaning means.
前記力検出部で検出した力に基づき、前記掃除面種データベースを参照して前記掃除面の種類を選択する掃除面種選択手段をさらに備える請求項1又は2に記載の自走式掃除ロボット。 A cleaning surface type database having cleaning surface state information of the cleaning surface;
The self-propelled cleaning robot according to claim 1 or 2, further comprising a cleaning surface type selection unit that selects a type of the cleaning surface with reference to the cleaning surface type database based on the force detected by the force detection unit.
前記掃除手段と前記掃除面とに働く力を力検出部で検出して、前記力検出部から出力した力に基づき、前記掃除手段を前記床面の前記掃除面に接触させて前記掃除面に沿って掃除を行う方向を決定する掃除方向決定手段と、
前記掃除方向決定手段により決定された前記掃除方向に沿った掃除軌道を生成する軌道生成手段とを備え、
前記移動手段により、前記軌道生成手段で生成された前記掃除軌道に沿って前記移動体を移動させて、前記掃除手段で前記掃除面に対する掃除を行うように前記自走式掃除ロボットを制御する、自走式掃除ロボットの制御装置。 A moving body, a moving means for moving the moving body on the floor, and a cleaning means arranged on the moving body and cleaning the cleaning surface of the floor by moving the moving body by the moving means A control device for a self-propelled cleaning robot comprising:
A force detecting unit detects a force acting on the cleaning unit and the cleaning surface, and based on the force output from the force detection unit, the cleaning unit is brought into contact with the cleaning surface of the floor surface to the cleaning surface. Cleaning direction determining means for determining the direction of cleaning along,
A trajectory generating means for generating a cleaning trajectory along the cleaning direction determined by the cleaning direction determining means,
The moving means controls the self-propelled cleaning robot to move the moving body along the cleaning path generated by the path generation means and to clean the cleaning surface by the cleaning means. Control device for self-propelled cleaning robot.
前記掃除手段と前記掃除を行う面とに働く力を検出して出力する力検出部とを備え、
前記力検出部で検出した力に基づき、前記掃除手段を前記床面の前記掃除面に接触させて前記掃除面に沿って掃除を行う面の掃除方向を決定する掃除方向決定手段とを備え、
前記掃除手段の、前記掃除方向決定手段により決定された前記掃除方向に沿った掃除軌道を生成する軌道生成手段とを備えて、
前記移動手段により、前記軌道生成手段で生成された前記掃除軌道に沿って前記移動体を移動させて、前記掃除手段で前記掃除面に対する掃除を行うように前記自走式掃除ロボットを制御する、自走式掃除ロボットの制御方法。 A moving body, a moving means for moving the moving body on the floor, and a cleaning means arranged on the moving body and cleaning the cleaning surface of the floor by moving the moving body by the moving means A self-propelled cleaning robot control method comprising:
A force detector that detects and outputs a force acting on the cleaning means and the surface to be cleaned;
Based on the force detected by the force detection unit, the cleaning means is brought into contact with the cleaning surface of the floor surface, the cleaning direction determining means for determining the cleaning direction of the surface to be cleaned along the cleaning surface,
A trajectory generating means for generating a cleaning trajectory along the cleaning direction determined by the cleaning direction determining means of the cleaning means;
The moving means controls the self-propelled cleaning robot to move the moving body along the cleaning path generated by the path generation means and to clean the cleaning surface by the cleaning means. Control method of self-propelled cleaning robot.
前記掃除手段と前記掃除面とに働く力を検出して出力する力検出部と、
前記力検出部で検出した力に基づき、前記掃除手段を前記床面の前記掃除面に接触させて前記掃除面に沿って掃除を行う方向を決定する掃除方向決定手段と、
前記掃除方向決定手段により決定された前記掃除方向に沿った掃除軌道を生成する軌道生成手段として機能させるとともに、
前記移動手段により、前記軌道生成手段で生成された前記掃除軌道に沿って前記移動体を移動させて、前記掃除手段で前記掃除面に対する掃除を行うように機能させるための、自走式掃除ロボットの制御プログラム。 A moving body, a moving means for moving the moving body on the floor, and a cleaning means arranged on the moving body and cleaning the cleaning surface of the floor by moving the moving body by the moving means A control program for a self-propelled cleaning robot comprising:
A force detector that detects and outputs a force acting on the cleaning means and the cleaning surface;
Based on the force detected by the force detector, a cleaning direction determining means for determining a direction in which the cleaning means is brought into contact with the cleaning surface of the floor and cleaning is performed along the cleaning surface;
While functioning as a trajectory generating means for generating a cleaning trajectory along the cleaning direction determined by the cleaning direction determining means,
A self-propelled cleaning robot for causing the moving means to move along the cleaning orbit generated by the orbit generation means and to perform cleaning on the cleaning surface by the cleaning means. Control program.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008205588A JP2010035981A (en) | 2008-08-08 | 2008-08-08 | Self-propelled cleaning robot and device, method and program for controlling it |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008205588A JP2010035981A (en) | 2008-08-08 | 2008-08-08 | Self-propelled cleaning robot and device, method and program for controlling it |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010035981A true JP2010035981A (en) | 2010-02-18 |
Family
ID=42009101
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008205588A Pending JP2010035981A (en) | 2008-08-08 | 2008-08-08 | Self-propelled cleaning robot and device, method and program for controlling it |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010035981A (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107997702A (en) * | 2018-01-05 | 2018-05-08 | 山东交通学院 | High-altitude cleaning robot with class manual work pattern |
WO2018216690A1 (en) * | 2017-05-23 | 2018-11-29 | 東芝ライフスタイル株式会社 | Electric vacuum cleaner |
JP2019000441A (en) * | 2017-06-16 | 2019-01-10 | シャープ株式会社 | Vacuum cleaner |
CN114654464A (en) * | 2022-03-22 | 2022-06-24 | 上海景吾酷租科技发展有限公司 | Cleaning robot positioning position selection method and system based on time optimization |
KR20220117394A (en) * | 2021-02-16 | 2022-08-24 | 주정연 | Remote billiards game system having the function of reviwing of previous games of players |
CN115024610A (en) * | 2022-06-09 | 2022-09-09 | 慕思健康睡眠股份有限公司 | Bed frame system capable of automatically cleaning bed bottom and bed |
-
2008
- 2008-08-08 JP JP2008205588A patent/JP2010035981A/en active Pending
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018216690A1 (en) * | 2017-05-23 | 2018-11-29 | 東芝ライフスタイル株式会社 | Electric vacuum cleaner |
JP2018196512A (en) * | 2017-05-23 | 2018-12-13 | 東芝ライフスタイル株式会社 | Vacuum cleaner |
CN110650667A (en) * | 2017-05-23 | 2020-01-03 | 东芝生活电器株式会社 | Electric vacuum cleaner |
CN110650667B (en) * | 2017-05-23 | 2021-09-21 | 东芝生活电器株式会社 | Electric vacuum cleaner |
JP7174505B2 (en) | 2017-05-23 | 2022-11-17 | 東芝ライフスタイル株式会社 | vacuum cleaner |
JP2019000441A (en) * | 2017-06-16 | 2019-01-10 | シャープ株式会社 | Vacuum cleaner |
CN107997702A (en) * | 2018-01-05 | 2018-05-08 | 山东交通学院 | High-altitude cleaning robot with class manual work pattern |
CN107997702B (en) * | 2018-01-05 | 2023-06-16 | 山东交通学院 | High-altitude cleaning robot with artificial-like operation mode |
KR20220117394A (en) * | 2021-02-16 | 2022-08-24 | 주정연 | Remote billiards game system having the function of reviwing of previous games of players |
KR102629396B1 (en) * | 2021-02-16 | 2024-01-26 | 주정연 | Remote billiards game system having the function of reviwing of previous games of players |
CN114654464A (en) * | 2022-03-22 | 2022-06-24 | 上海景吾酷租科技发展有限公司 | Cleaning robot positioning position selection method and system based on time optimization |
CN115024610A (en) * | 2022-06-09 | 2022-09-09 | 慕思健康睡眠股份有限公司 | Bed frame system capable of automatically cleaning bed bottom and bed |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2010016210A1 (en) | Control device and control method for cleaner, cleaner, control program for cleaner, and integrated electronic circuit | |
JP5740554B2 (en) | Robot arm control apparatus and control method, robot, robot arm control program, and integrated electronic circuit for robot arm control | |
JP4568795B2 (en) | Robot arm control device and control method, robot, robot arm control program, and integrated electronic circuit | |
US11745332B1 (en) | Robot control | |
JP2010035981A (en) | Self-propelled cleaning robot and device, method and program for controlling it | |
CN102470531B (en) | The control device of robot, robot and control method | |
US8676379B2 (en) | Device and method for controlling robot arm, robot, and robot arm control program | |
JP6700669B2 (en) | Control method, robot device, program, recording medium, and article manufacturing method | |
CN103624790B (en) | Control method of teleoperation of six-freedom-degree mechanical arm | |
US9486920B2 (en) | Control apparatus and control method for robot arm, robot, control program for robot arm, and integrated electronic circuit | |
JP2013071231A (en) | Teaching device of robot arm, robot apparatus, teaching method, control device of robot arm, control program of robot arm, and integrated electronic circuit | |
JP4813433B2 (en) | Vacuum cleaner | |
JP2021133470A (en) | Control method of robot and robot system | |
CN110977991A (en) | Motion control method for airplane cleaning mechanical arm | |
JP4696784B2 (en) | Massage machine | |
JP2022011402A (en) | Robot control method and robot system | |
WO2017175340A1 (en) | Optimization device and vertically articulated robot provided with same | |
JP6322948B2 (en) | Robot control apparatus, robot system, robot, robot control method, and program | |
JP2010092343A (en) | Control system of self-propelled vehicle | |
CN112336258B (en) | Mobile robot, control method, and storage medium | |
US11660742B2 (en) | Teaching method and robot system | |
WO2011021376A1 (en) | Control device and control method for robot arm, household robot, control program for robot arm, and integrated electronic circuit for controlling robot arm | |
JP2571735B2 (en) | Electric vacuum cleaner | |
WO2023157137A1 (en) | Robot control system, robot control method, robot control program, and estimation system | |
US20220413468A1 (en) | Program Creation Apparatus And Storage Medium |