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 PDF

Info

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
Application number
JP2008205588A
Other languages
Japanese (ja)
Inventor
Mayumi Komatsu
真弓 小松
Kenji Kondo
堅司 近藤
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 Corp
Original Assignee
Panasonic Corp
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 Corp filed Critical Panasonic Corp
Priority to JP2008205588A priority Critical patent/JP2010035981A/en
Publication of JP2010035981A publication Critical patent/JP2010035981A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Electric Suction Cleaners (AREA)
  • Electric Vacuum Cleaner (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a control device capable of achieving cleaning movement corresponding to a kind of a face to be cleaned to accommodate the movement to surface-direction characteristics of the face when a self-propelled cleaning robot cleans the face. <P>SOLUTION: The kind of a face to be cleaned and surface-direction characteristics of the face 6 are assumed based on a force generated between the face 6 to be cleaned and a cleaning member 8 and from information on a position and a posture of an actuating-handle fixing member 30 of a robot body 10, thus deciding a cleaning track of the body 10. <P>COPYRIGHT: (C)2010,JPO&INPIT

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).

特開2007−319485号公報JP 2007-319485 A 特開2005−211364号公報Japanese Patent Laying-Open No. 2005-211364

しかしながら、特許文献1のような従来の技術においては、畳以外の掃除の場合を考慮していないという課題があった。また、光量を検出するため、自走式掃除用ロボットのように、人の不在時に使われることが想定される場合、光源を自走式掃除用ロボットに備える必要があるなど、光源を確保する必要があった。特許文献2のような従来の技術においては、掃除面の材質の判別は行っていたが、掃除方向については考慮されていないという課題があった。   However, the conventional technique such as Patent Document 1 has a problem that it does not consider the case of cleaning other than tatami mats. Also, in order to detect the amount of light, if it is assumed that it will be used in the absence of a person, such as a self-propelled cleaning robot, a light source must be provided in the self-propelled cleaning robot, etc. There was a need. In the conventional technology such as Patent Document 2, although the material of the cleaning surface is determined, there is a problem that the cleaning direction is not considered.

本発明の目的は、このような課題に鑑みてなされたものであり、自走式掃除ロボットが掃除をする際に、掃除面と掃除手段との間に発生する力を検出することにより、掃除を行う面の材質に応じて掃除ノズル又は拭き掃除手段などの掃除手段の進行方向を変更することで、人間が行ってきた適切な掃除方向での掃除を実現できる、自走式掃除ロボット、自走式掃除ロボットの制御装置及び方法、並びに、自走式掃除ロボットの制御プログラムを提供することにある。   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 cleaning robot 1 according to the first embodiment of the present invention. In FIG. 1, a self-propelled cleaning robot 1 includes a body part 2 and a robot arm 5 attached to the body part 2, and is placed on a floor surface 9. The mobile body 70 is placed on the floor surface. 9 and a moving means 71 that moves on the front surface of the moving body 70 and moves the moving body 70 by the moving means 71 to a cleaning surface (region or surface to be cleaned) of the floor surface 9. A wiping cleaning member 8 as an example of a cleaning means for cleaning is provided.

移動手段71は、一例として、胴体部2に全て配置されており、移動体70を移動させるための駆動手段の一例としての一対のモータ40と、胴体部2の後部に配置されかつ一対のモータ40で正逆回転駆動される一対の車輪3(右車輪3a,左車輪3b)と、胴体部2の前部に配置されかつ補助輪4とを備えている。   The moving means 71 is, for example, all disposed in the body portion 2, a pair of motors 40 as an example of a driving means for moving the moving body 70, and a pair of motors disposed at the rear portion of the body portion 2. A pair of wheels 3 (right wheel 3 a and left wheel 3 b) that are driven to rotate forward and backward at 40, and an auxiliary wheel 4 that is disposed at the front of the body portion 2.

ロボットアーム5の基端は胴体部2の前端部に取り付けられているとともに、ロボットアーム5の先端には、力検出部の一例としての力センサ7を介して、拭き掃除部材8が取り付けられている。   The base end of the robot arm 5 is attached to the front end portion of the body portion 2, and the wiping cleaning member 8 is attached to the tip of the robot arm 5 via a force sensor 7 as an example of a force detection unit. .

自走式掃除ロボット1は、床面9、壁、又は、車などの汚れを拭き掃除部材8を用いて拭き掃除を行う自走式の掃除ロボットである。以下の説明では、一例として、床面9に対して掃除を行う場合を想定して説明する。   The self-propelled cleaning robot 1 is a self-propelled cleaning robot that wipes dirt such as a floor surface, a wall, or a car and wipes and cleans it using a cleaning member 8. In the following description, the case where the floor surface 9 is cleaned will be described as an example.

図2及び図3は、自走式掃除ロボット1の構成を示す図であって、自走式掃除ロボット1の動作を制御する制御装置11と、制御装置11の制御対象である掃除ロボット本体部10の詳細構成を示す図である。このロボット本体部10は、移動体70と移動手段71とを備えている。   2 and 3 are diagrams showing a configuration of the self-propelled cleaning robot 1, and a control device 11 that controls the operation of the self-propelled cleaning robot 1 and a cleaning robot main body that is a control target of the control device 11. FIG. The robot body 10 includes a moving body 70 and moving means 71.

制御装置11は、一例として、一般的なパーソナルコンピュータにより構成されており、少なくとも、掃除方向決定部(掃除方向決定手段の一例)91と、軌道生成部(軌道生成手段の一例)94と、動作制御手段の一例としての動作制御部13を備えて構成されている。   The control device 11 is configured by a general personal computer as an example, and includes at least a cleaning direction determination unit (an example of a cleaning direction determination unit) 91, a trajectory generation unit (an example of a trajectory generation unit), and an operation. An operation control unit 13 is provided as an example of the control means.

より具体的には、制御装置11は、さらに、動作軌道データベース14と動作軌道生成部95を有する軌道生成部94と、掃除面種データベース15と掃除面種選択部(掃除面種選択手段の一例)18とを有する掃除面種切替部19と、領域判定部90と、入出力IF(インターフェース)16とで構成される。このうち、図2に示すように、動作制御部13と、軌道生成部94と、掃除面種切替部19と、領域判定部90と、掃除方向決定部91とは、制御プログラム6として構成することが可能なものである。   More specifically, the control device 11 further includes a trajectory generation unit 94 having an operation trajectory database 14 and an operation trajectory generation unit 95, a cleaning surface type database 15, and a cleaning surface type selection unit (an example of a cleaning surface type selection unit). ) 18, an area determination unit 90, and an input / output IF (interface) 16. 2, the operation control unit 13, the trajectory generation unit 94, the cleaning surface type switching unit 19, the region determination unit 90, and the cleaning direction determination unit 91 are configured as a control program 6. Is possible.

入出力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 control device 11 is connected to a motor driver 17 that drives each link manipulator of the robot arm 5 via an input / output IF 16 as an example of an input unit, and sends a control signal to the motor driver 17.

ロボット本体部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 control device 11 that controls the operation of the robot body 10, each joint angle information output from each joint of the robot arm 5 and encoders 21 and 41 (described later) of the pair of body wheels 3, and each Each of the rotation angle information is detected, and further, force information generated at the hand (hand attachment member 30) of the robot arm 5 output from the force detection unit 7 described later is transmitted to the control device 11 through the counter board of the input / output IF 16. The control device 11 calculates a control command value for the rotation operation of each joint portion and the pair of main body wheels 3 based on each joint angle information and each rotation angle information and force information. The calculated control command values are given to the motor driver 17 for driving and controlling each joint portion of the robot arm 5 and the pair of main body wheels 3 through the D / A board of the input / output IF 16, and sent from the motor driver 17. In accordance with each control command value, the motor 20 of each joint part of the robot arm 5 and the two motors 40 of the pair of main body wheels 3 are independently driven. The motor driver 17, the motor 20 of each joint, and the two motors 40 of the pair of main body wheels 3 function as an example of a drive unit. The encoders 21 and 41 function as an example of an angle detection unit that outputs angle information.

胴体部2の前面部には、ロボットアーム5が台部を介して取り付けられて、移動体70を構成している。車輪3は胴体部2の後部に2つ取り付けられており、モータドライバ17からの制御指令値に従って、2つのモータ40により一対の車輪3が同期して同じ正逆回転をすることで前進及び後退が可能となる。また、モータドライバ17からの制御指令値に従って、2つのモータ40により右車輪3aと左車輪3bが異なった回転を行うことで、胴体部2は旋回運動が可能となる。掃除部材8が目標軌道を移動できるように、一対の車輪3a,3bは回転制御される。   A robot arm 5 is attached to the front surface portion of the body portion 2 via a base portion to constitute a moving body 70. Two wheels 3 are attached to the rear part of the body part 2, and in accordance with a control command value from the motor driver 17, the pair of wheels 3 are rotated in the same forward and reverse directions by the two motors 40 in synchronization with each other. Is possible. Further, the right and left wheels 3a and 3b rotate differently by the two motors 40 according to the control command value from the motor driver 17, so that the body portion 2 can make a turning motion. The pair of wheels 3a and 3b are rotationally controlled so that the cleaning member 8 can move along the target track.

ロボットアーム5は、一例として、6自由度の多リンクマニピュレータであり、手先取り付け部材30と、手先取り付け部材30が取り付けられている手首部31を先端32aに有する前腕リンク32と、前腕リンク32の基端32bに先端33aが回転可能に連結される上腕リンク33と、上腕リンク33の基端33bが回転可能に連結支持され胴体部2の前面部に固定される台部34とを備えている。   As an example, the robot arm 5 is a multi-link manipulator having six degrees of freedom, and includes a hand attachment member 30, a forearm link 32 having a wrist portion 31 to which the hand attachment member 30 is attached at a tip 32 a, An upper arm link 33 having a distal end 33a rotatably connected to the base end 32b, and a base 34 fixedly attached to the front surface portion of the body portion 2 are supported by the base end 33b of the upper arm link 33 being rotatably connected. .

手首部31は、図3に示すように、第4関節部27と、第5関節部28と、第6関節部29との3つの回転軸を有しており、前腕リンク32に対する手先取り付け部材30の相対的な姿勢(向き)を変化させることができる。すなわち、図3において、第4関節部27は、手首部31に対する手先取り付け部材30のΨ軸(縦軸)周りの相対的な姿勢を変化させることができる。第5関節部28は、手首部31に対する手先取り付け部材30の、第4関節部27のΨ軸とは直交するΨ軸(横軸)周りの相対的な姿勢を変化させる。第6関節部29は、手首部31に対する手先取り付け部材30の、第4関節部27のΨ軸と直交する手先先端方向の軸Ψ(横軸)周りの相対的な姿勢を変化させることができる。すなわち、手先取り付け部材30は、前腕リンク32の先端32aに対してΨ軸とΨ軸とΨ軸との3軸方向にそれぞれ独立して回転可能である。また、図2における、手先座標系36と、これらのΨ軸とΨ軸とΨ軸とは必ずしも一致しない。手先座標系36は、後述の通り絶対座標系35を姿勢変化した座標系をハンド側に平行移動して、原点を手首位置に移動した仮想的なものであるのに対して、前記したΨ軸とΨ軸とΨ軸とは手先取り付け部材30の物理的な回転軸であり、必ずしも3軸は直交しない。 As shown in FIG. 3, the wrist portion 31 has three rotational axes of a fourth joint portion 27, a fifth joint portion 28, and a sixth joint portion 29, and a hand attachment member for the forearm link 32. The 30 relative postures (orientations) can be changed. That is, in FIG. 3, the fourth joint portion 27 can change the relative posture around the Ψ x- axis (vertical axis) of the hand attachment member 30 with respect to the wrist portion 31. The fifth joint portion 28 changes the relative posture of the hand attachment member 30 with respect to the wrist portion 31 around the ψ y axis (horizontal axis) perpendicular to the ψ x axis of the fourth joint portion 27. The sixth joint portion 29 changes the relative posture of the hand attachment member 30 with respect to the wrist portion 31 about the axis ψ z (horizontal axis) in the tip end direction perpendicular to the ψ x axis of the fourth joint portion 27. Can do. That is, the hand attachment member 30 can rotate independently with respect to the tip 32 a of the forearm link 32 in the three axial directions of the Ψ x axis, the Ψ y axis, and the Ψ z axis. Further, the hand coordinate system 36 in FIG. 2 and these Ψ x axis, Ψ y axis, and Ψ z axis do not always coincide. The hand coordinate system 36 is a virtual one in which the coordinate system obtained by changing the attitude of the absolute coordinate system 35 as described later is translated to the hand side and the origin is moved to the wrist position, whereas the above-described Ψ x The axis, the Ψ y- axis, and the Ψ z- axis are physical rotation axes of the hand mounting member 30 and the three axes are not necessarily orthogonal.

前腕リンク32の基端32bは、上腕リンク33の先端33aに対して第3関節部26周りに回転可能とする。この第1実施形態では、第3関節部26周りに回転可能とは、第5関節部28のΨ軸と平行な横軸周りに回転可能であることを意味する。上腕リンク33の基端33bは、台部34に対して第2関節部25周りに回転可能とする。この第1実施形態では、第2関節部25周りに回転可能とは、第5関節部28のΨ軸(すなわち、第3関節部26の横軸)と平行な横軸周りに回転可能であることを意味する。台部34の上側可動部34aは、台部34の下側固定部34bに対して第1関節部24周りに回転可能とする。この第1実施形態では、第1関節部24周りに回転可能とは、絶対座標系35のZ軸周りに回転可能であることを意味している。 The proximal end 32 b of the forearm link 32 is rotatable around the third joint portion 26 with respect to the distal end 33 a of the upper arm link 33. In the first embodiment, being rotatable about the third joint portion 26 means being rotatable about a horizontal axis parallel to the Ψ y axis of the fifth joint portion 28. The base end 33 b of the upper arm link 33 is rotatable around the second joint portion 25 with respect to the base portion 34. In the first embodiment, being rotatable around the second joint portion 25 means being rotatable around a horizontal axis parallel to the Ψ y- axis of the fifth joint portion 28 (that is, the horizontal axis of the third joint portion 26). It means that there is. The upper movable part 34 a of the base part 34 is rotatable around the first joint part 24 with respect to the lower fixed part 34 b of the base part 34. In the first embodiment, being rotatable about the first joint portion 24 means being rotatable about the Z axis of the absolute coordinate system 35.

この結果、ロボットアーム5は、第1関節部24から第6関節部29の合計6個の軸周りに、それぞれ、独立して回転可能として、上記6自由度の多リンクマニピュレータを構成している。   As a result, the robot arm 5 constitutes the multi-link manipulator with 6 degrees of freedom so that it can rotate independently around a total of six axes from the first joint part 24 to the sixth joint part 29. .

各軸の回転部分を構成する各関節部には、各関節部を構成する一対の部材(例えば、回動側部材と、該回動側部材を支持する支持側部材)のうちの一方の部材に備えられ、かつ後述するモータドライバ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 motor 20 as an example of a rotational drive device that is driven and controlled by a motor driver 17 described later (actually disposed inside each joint portion of the robot arm 5); It includes an encoder 21 (actually disposed inside each joint portion of the robot arm 5) that detects a rotation phase angle (that is, a joint angle) of the rotation shaft. Therefore, the rotation shaft of the motor 12 provided in one member constituting each joint portion is connected to the other member of each joint portion to rotate the rotation shaft forward and backward, thereby causing the other member to move to the other member. It is possible to rotate around each axis with respect to the member.

35は、台部34の下側固定部34bに対して相対的な位置関係が固定された絶対座標系(XYZ軸)であり、36は絶対座標系35に対して相対的な位置関係が固定された手先座標系である。絶対座標系35から見た手先座標系36の原点位置O(x,y,z)を、ロボットアーム5の手先取り付け部材30の位置(すなわち、手先位置)とする。そして、絶対座標系35から見た手先座標系36の姿勢を、ロール角とピッチ角とヨー角とを使用して座標(φ,θ,ψ)で表現する。この座標(φ,θ,ψ)を、ロボットアーム5の手先姿勢(手先取り付け部材30の姿勢)とし、手先位置及び姿勢ベクトルを、ベクトルr=[x、y、z、φ、θ、ψ]と定義する。ロール角、ピッチ角、ヨー角について図4A〜図4Cを用いて説明する。まず、絶対座標系35のZ軸を回転軸として、座標系を角度φだけZ軸周りに回転させた座標系を考える。(図4A参照)。このときの座標軸を[X’、Y’、Z]とする。次に、この座標系を、Y’軸を回転軸として、角度θだけY’軸周りに回転させる(図4B参照)。このときの座標軸を[X’’、Y’、Z’’]とする。最後に、この座標系を、X’’軸を回転軸として、角度ψだけX’’軸周りに回転させる(図4C参照)。このときの座標軸を[X’’、Y’’’、Z’’’]とする。このときの座標系の姿勢を、ロール角度φ、ピッチ角度θ、ヨー角度ψとし、このときの姿勢ベクトルは(φ,θ,ψ)となる。姿勢(φ,θ,ψ)の座標系が、原点位置を手先座標系36の原点位置O(x,y,z)に平行移動した座標系と、手先座標系36が一致する場合、手先座標系36の姿勢ベクトルは(φ,θ,ψ)であるとする。 Reference numeral 35 denotes an absolute coordinate system (XYZ axes) in which the relative positional relationship is fixed with respect to the lower fixed portion 34b of the pedestal 34. Reference numeral 36 denotes a relative positional relationship that is fixed with respect to the absolute coordinate system 35. This is the hand coordinate system. The origin position O e (x, y, z) of the hand coordinate system 36 viewed from the absolute coordinate system 35 is set as the position of the hand attachment member 30 of the robot arm 5 (that is, the hand position). Then, the posture of the hand coordinate system 36 viewed from the absolute coordinate system 35 is expressed by coordinates (φ, θ, ψ) using the roll angle, the pitch angle, and the yaw angle. The coordinates (φ, θ, ψ) are set as the hand posture of the robot arm 5 (the posture of the hand attachment member 30), and the hand position and posture vector are vectors r = [x, y, z, φ, θ, ψ]. Define T. The roll angle, pitch angle, and yaw angle will be described with reference to FIGS. 4A to 4C. First, consider a coordinate system in which the coordinate system is rotated about the Z axis by an angle φ with the Z axis of the absolute coordinate system 35 as the rotation axis. (See FIG. 4A). The coordinate axes at this time are assumed to be [X ′, Y ′, Z]. Next, the coordinate system is rotated around the Y ′ axis by an angle θ using the Y ′ axis as a rotation axis (see FIG. 4B). The coordinate axes at this time are [X ″, Y ′, Z ″]. Finally, this coordinate system is rotated around the X ″ axis by an angle ψ with the X ″ axis as a rotation axis (see FIG. 4C). The coordinate axes at this time are [X ″, Y ′ ″, Z ′ ″]. The posture of the coordinate system at this time is a roll angle φ, a pitch angle θ, and a yaw angle ψ, and the posture vector at this time is (φ, θ, ψ). When the coordinate system of the posture (φ, θ, ψ) matches the coordinate system obtained by translating the origin position to the origin position O e (x, y, z) of the hand coordinate system 36, and the hand coordinate system 36, Assume that the orientation vector of the coordinate system 36 is (φ, θ, ψ).

ロボットアーム5の手先位置と、姿勢と、力とをそれぞれ制御する場合には、手先位置及び姿勢ベクトルr、及び、後述する手先に発生している手先力ベクトルFを、後述する目標軌道生成部45で生成された目標軌道、すなわち、手先位置及び姿勢目標ベクトルrと目標力ベクトルFとに動作制御部13により追従させることになる。 When controlling the hand position, posture, and force of the robot arm 5, the hand position and posture vector r and the hand force vector F generated at the hand described later are used as a target trajectory generation unit described later. target orbit generated by 45, i.e., so that to follow the operation control unit 13 to the tip unit position and orientation target vector r d and the target force vector F d.

掃除部材8は、例えばモップ、雑巾、又は、スポンジを想定し、床面又は壁面などを直接拭く部分である。掃除部材8は、掃除部材取り付け部8aを介して手先取り付け部材30に着脱可能に取り付けられて、一例として床面9の掃除面に軽く載せるようにしている。   The cleaning member 8 is a part for directly wiping a floor surface or a wall surface assuming a mop, a dust cloth, or a sponge, for example. The cleaning member 8 is detachably attached to the hand attachment member 30 via the cleaning member attachment portion 8a, and is placed lightly on the cleaning surface of the floor surface 9 as an example.

力検出部7は、ロボットアーム5の手先取り付け部材30と掃除部材8の間に発生する力を検出もしくは推定して、その情報を出力する。絶対座標(x、y、z)の方向の力をそれぞれ(F,F,F)、絶対座標(x、y、z)のそれぞれの軸周りの回転トルクを(T,T,T)とし、手先に発生している力を、ベクトルF=[F,F,F,T,T,Tと定義する。一例として、力検出部7は、手先取り付け部材30と掃除部材8の間にある6軸の力センサを想定するが、掃除方向が限定される場合(一例として図24)などは6軸以下でもかまわない。ただし、少なくとも、掃除面に対して垂直の方向の力(掃除面に対して垂直な成分)と掃除面上の進行方向の力(掃除面に対して水平な成分)の検出ができる手段又は装置が必要となる。力検出部7からの出力は、入出力IF16を介して、動作制御部13と掃除面種データベース15と領域判定部90とに出力される。 The force detection unit 7 detects or estimates a force generated between the hand attachment member 30 of the robot arm 5 and the cleaning member 8 and outputs the information. The forces in the direction of the absolute coordinates (x, y, z) are (F x , F y , F z ), respectively, and the rotational torques about the axes of the absolute coordinates (x, y, z) are (T x , T y). , T z ), and a force generated at the hand is defined as a vector F = [F x , F y , F z , T x , T y , T z ] T. As an example, the force detection unit 7 assumes a 6-axis force sensor between the hand attachment member 30 and the cleaning member 8, but when the cleaning direction is limited (for example, FIG. 24), the force detection unit 7 may be 6 axes or less. It doesn't matter. However, means or apparatus capable of detecting at least the force in the direction perpendicular to the cleaning surface (component perpendicular to the cleaning surface) and the force in the traveling direction on the cleaning surface (component horizontal to the cleaning surface). Is required. The output from the force detection unit 7 is output to the operation control unit 13, the cleaning surface type database 15, and the region determination unit 90 via the input / output IF 16.

また、力検出部7として、センサを用いず、手首部31の第4関節部27と第5関節部28と第6関節部29とにそれぞれ配置したモータ20のモータ電流値などから推定する力推定部として構成するようにしてもよい。この場合、力検出部7による外力の推定は、次の方法で推定する。モータドライバ17の電流センサ17aは、ロボットアーム5の各関節部を駆動するモータ20を流れる電流値i=[i,i,i,i,i,iを計測する。力検出部7には、モータドライバ17の電流センサで計測された電流値i=[i,i,i,i,i,iが、入出力IF9のA/Dボードを介して取り込まれる。また、各関節部の関節角の現在値qが、入出力IF16のカウンタボードを介して力検出部7に取り込まれるとともに、後述する動作制御部13からの関節トルク誤差補償出力τが力検出部7に取り込まれる。 Further, as the force detection unit 7, the force estimated from the motor current values of the motors 20 respectively disposed at the fourth joint portion 27, the fifth joint portion 28, and the sixth joint portion 29 of the wrist portion 31 without using a sensor. You may make it comprise as an estimation part. In this case, the external force estimated by the force detector 7 is estimated by the following method. The current sensor 17 a of the motor driver 17 measures a current value i = [i 1 , i 2 , i 3 , i 4 , i 5 , i 6 ] T flowing through the motor 20 that drives each joint portion of the robot arm 5. . In the force detector 7, the current value i = [i 1 , i 2 , i 3 , i 4 , i 5 , i 6 ] T measured by the current sensor of the motor driver 17 is input to the A / D of the input / output IF 9. Captured through the board. Further, the current value q of the joint angle of each joint is taken into the force detector 7 via the counter board of the input / output IF 16, and the joint torque error compensation output τ from the operation controller 13 described later is the force detector. 7 is taken in.

力検出部7は、オブザーバーとして機能し、前記電流値iと、関節角の現在値qと、関節トルク誤差補償出力τとの各情報から、ロボットアーム5に加わる外力によって各関節部に発生するトルクτextを算出する。そして、さらに、力検出部7は、Fext=J(q)−Tτextにより、ロボットアーム5の手先における等価手先外力Fextに換算して、換算後の等価手先外力Fextを現在の手先力ベクトルFとして、力検出部7から動作制御部13と掃除面種データベース15と領域判定部90とに出力する。ここで、J(q)は、後述する近似逆運動学計算部54にて計算されるヤコビ行列である。 The force detector 7 functions as an observer, and is generated in each joint by external force applied to the robot arm 5 from each information of the current value i, the current value q of the joint angle, and the joint torque error compensation output τ. Torque τ ext is calculated. Further, the force detection unit 7 converts the equivalent hand external force F ext after conversion into an equivalent hand external force F ext at the hand of the robot arm 5 by F ext = J v (q) −T τ ext Is output from the force detection unit 7 to the operation control unit 13, the cleaning surface type database 15, and the region determination unit 90. Here, J v (q) is a Jacobian matrix calculated by the approximate inverse kinematics calculation unit 54 described later.

図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 control device 11. As described above, the control device 11 includes the cleaning direction determination unit 91, the trajectory generation unit 94, and the operation control unit 13, and detects the force acting on the wiping cleaning member 8 and the cleaning surface of the floor surface 9. Based on the force detected by the force detection unit 7 to be output, a cleaning direction determination unit 91 that determines the direction of cleaning along the cleaning surface by bringing the wiping cleaning member 8 into contact with the cleaning surface of the floor surface 9 and a cleaning direction determination unit And a trajectory generator 94 that generates a cleaning trajectory (target trajectory) along the cleaning direction determined by 91, and a movable body along the cleaning trajectory generated by the trajectory generator 94 by a pair of motors 40 and the like. 70 is moved, and control is performed so that the cleaning surface 8 is cleaned with the wiping cleaning member 8.

より具体的に、制御装置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 control device 11 further includes the trajectory generation unit 94 including the operation trajectory database 14 and the operation trajectory generation unit 95, the cleaning surface type database 15, and the cleaning surface type selection unit (cleaning surface). An example of the seed selection means) is comprised of a cleaning surface type switching unit 19 having 18, an area determination unit 90, an operation control unit 13, and an input / output IF (interface) 16. Among them, the motion control unit 13 includes a target trajectory generation unit 45, a force error calculation unit 46, a position error calculation unit 47, a position and force control direction selection unit 48, a force error compensation unit 49, and a joint torque conversion. Unit 50, position error compensation unit 51, dynamics compensation unit 52, forward kinematics calculation unit 53, approximate inverse kinematics calculation unit 54, and joint torque command calculation unit 55. The operation control unit 13 outputs a command value for controlling the operation of the robot body 10 from the 10 target trajectories and information on the current position, posture, and force of the robot body 10.

ロボット本体部10からは、ロボットアーム5のそれぞれの関節部のエンコーダ21により計測された関節角の現在値(関節角度ベクトル)ベクトルq=[q,q,q,q,q,q,qb1,qb2が出力され、入出力IF9のカウンタボードにより動作制御部13の順運動学計算部53に取り込まれる。ただし、q,q,q,q,q,q,qb1,qb2は、それぞれ、エンコーダ21,41から検出された、第1関節部24と、第2関節部25と、第3関節部26と、第4関節部27と、第5関節部28と、第6関節部29と、右車輪3aと、左車輪3bとの関節角度である。 From the robot body 10, the current value (joint angle vector) vector q = [q 1 , q 2 , q 3 , q 4 , q 5 of the joint angle measured by the encoder 21 of each joint of the robot arm 5. , Q 6 , q b1 , q b2 ] T are output and taken into the forward kinematics calculation unit 53 of the operation control unit 13 by the counter board of the input / output IF 9. However, q 1 , q 2 , q 3 , q 4 , q 5 , q 6 , q b1 , and q b2 are respectively detected by the encoders 21 and 41, the first joint part 24 and the second joint part 25. And the joint angles of the third joint part 26, the fourth joint part 27, the fifth joint part 28, the sixth joint part 29, the right wheel 3a, and the left wheel 3b.

目標軌道生成部45は、動作軌道データベース14からの出力情報と、力検出部7からの力情報(現在の手先力ベクトル)Fと、後述する順運動学計算部53からの手先位置及び姿勢ベクトルrとを基に、目標とするロボット本体部10の動作を実現するための目標軌道の情報、すなわち、ロボットアーム5の手先位置及び姿勢目標ベクトルr及び目標力ベクトルFを出力する。目標とするロボット本体部10の動作は、目的とする作業に応じて事前にそれぞれの時間(t=0、t=t、t=t、・・・)でのポイントごとの位置(rd0、rd1、rd2、・・・)及び力(Fd0、Fd1、Fd2、・・・)が動作軌道データベース14に与えられており、目標軌道生成部45は、動作軌道データベース14からの前記それぞれの時間(t=0、t=t、t=t、・・・)でのポイントごとの位置(rd0、rd1、rd2、・・・)及び力(Fd0、Fd1、Fd2、・・・)の情報と、順運動学計算部53からの手先位置及び姿勢ベクトルrと、力検出部7からの手先力ベクトルFとを基に多項式補間を使用し、各ポイント間の軌道を補完し、目標軌道である手先位置及び姿勢目標ベクトルr及び目標力ベクトルFを生成する。 The target trajectory generation unit 45 outputs information from the motion trajectory database 14, force information (current hand force vector) F from the force detection unit 7, and hand position and posture vectors from a forward kinematics calculation unit 53 described later. based on the r, the target trajectory information for realizing the operation of the robot main body 10 as a target, i.e., outputs the hand position and orientation target vector r d and the target force vector F d of the robot arm 5. Operation of the robot main body 10 to the target, the position of each point in the object and work each time in advance in accordance with the (t = 0, t = t 1, t = t 2, ···) (r d0, r d1, r d2, ···) and the force (F d0, F d1, F d2, ···) are given to the operation track database 14, the target track generation unit 45, the operation track database 14 Position (r d0 , r d1 , r d2 ,...) And force (F d0 ) at the respective times (t = 0, t = t 1 , t = t 2 ,. , F d1 , F d2 ,...), A hand position and orientation vector r from the forward kinematics calculation unit 53, and a hand force vector F from the force detection unit 7, and polynomial interpolation is used. , Complement the trajectory between each point, the hand position and posture that is the target trajectory Generating a target vector r d and the target force vector F d.

順運動学計算部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 kinematics calculation unit 53, the joint angle vector q, which is the current value q of each joint angle measured by the encoder 21 of each joint part of the robot arm 5 of the robot body 10, is displayed on the counter board of the input / output IF 9. Is input via. Then, the forward kinematics calculation unit 53 performs geometrical scientific calculation of conversion from the joint angle vector q of the robot arm 5 of the robot main body unit 10 to the hand position and posture vector r. Therefore, the forward kinematics calculation unit 53 functions as an example of a hand position detection unit that detects the hand position of the robot arm 5 of the robot body 10. The hand position and posture vector r calculated by the forward kinematics calculation unit 53 is output to the target trajectory generation unit 45, the position error calculation unit 47, the cleaning direction determination unit 91, the cleaning surface type selection unit 18, and the region determination unit 90. Is done.

近似逆運動学計算部54では、ロボット本体部10のロボットアーム5において計測される関節角度ベクトルqに基づき、J(q)の計算を行う。ただし、J(q)は、 The approximate inverse kinematics calculation unit 54 calculates J v (q) based on the joint angle vector q measured by the robot arm 5 of the robot body 10. However, J v (q) is

Figure 2010035981

を満たすヤコビ行列である。ただし、v=[v、v、v、λ、λ、λであり、(v、v、v)は手先座標系36でのロボットアーム5の手先の並進速度、(λ、λ、λ)は手先座標系36でのロボットアーム5の手先の角速度である。
力誤差計算部46は、目標軌道生成部45から出力される目標力ベクトルFと力検出手段7から出力される現在の手先に発生している手先力ベクトルFとの差である力誤差出力ベクトルFを計算し、位置及び力制御方向選択部48に力誤差出力ベクトルFを出力する。
Figure 2010035981

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 robot arm 5 in the hand coordinate system 36 The translational speed, (λ x , λ y , λ z ) is the angular velocity of the hand of the robot arm 5 in the hand coordinate system 36.
The force error calculation unit 46 outputs a force error that is a difference between the target force vector F d output from the target trajectory generation unit 45 and the hand force vector F generated at the current hand output from the force detection means 7. The vector F e is calculated, and the force error output vector F e is output to the position and force control direction selector 48.

位置誤差計算部47は、目標軌道生成部45から出力される手先位置及び姿勢目標ベクトルrと順運動学計算部53から出力される現在の手先位置及び姿勢ベクトルrとの差である位置及び姿勢誤差出力rを計算し、位置及び力制御方向選択部48に位置及び姿勢誤差出力rを出力する。 Position error calculation unit 47, the position and the difference between the current hand position and orientation vector r output from the hand position and orientation target vector r d and the forward kinematics calculation unit 53 outputted from the target track generation unit 45 the attitude error output r e calculates and outputs the position and orientation error output r e to the position and force control direction selection unit 48.

位置及び力制御方向選択部48は、力制御を行う方向と位置制御を行う方向とを切り分けて、力誤差補償部49と位置誤差補償部51とにそれぞれ方向補正力誤差出力   The position and force control direction selection unit 48 separates the direction in which force control is performed and the direction in which position control is performed, and outputs direction correction force error outputs to the force error compensation unit 49 and the position error compensation unit 51, respectively.

Figure 2010035981

(以下、簡略して記載するため、これを「∧F」と記載する。)と方向補正位置及び姿勢誤差出力
Figure 2010035981

(Hereinafter, this is referred to as “∧F e ” for the sake of brevity.) And the direction correction position and attitude error output

Figure 2010035981

(以下、簡略して記載するため、これを「∧r」と記載する。)とを出力する。
例えば、x方向に力制御を行い、かつ、それ以外の方向は位置制御を行う場合には、
Figure 2010035981

(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,

Figure 2010035981
Figure 2010035981

Figure 2010035981

とすることで、x方向に力制御を行うとともに、それ以外の方向に位置制御を行うことが出来る。
Figure 2010035981

By doing so, it is possible to perform force control in the x direction and position control in other directions.

力誤差補償部49は、位置及び力制御方向選択部48から方向補正力誤差出力∧Fが入力され、方向補正力誤差出力∧Fが0に収束するようにロボット本体部10を制御するための制御入力となる力誤差補償出力UFeを計算し、力誤差補償出力UFeが、関節トルク変換部50に向けて出力される。 The force error compensation unit 49 receives the direction correction force error output ∧F e from the position and force control direction selection unit 48 and controls the robot body 10 so that the direction correction force error output ∧F e converges to zero. For this reason, a force error compensation output U Fe serving as a control input is calculated, and the force error compensation output U Fe is output toward the joint torque converter 50.

関節トルク変換部50は、力誤差補償部49から入力された力誤差補償出力UFeを各関節等価トルクτに変換して、各関節等価トルクτを関節トルク指令計算部55に向けて出力する。 The joint torque conversion unit 50 converts the force error compensation output U Fe input from the force error compensation unit 49 into each joint equivalent torque τ f and directs each joint equivalent torque τ f to the joint torque command calculation unit 55. Output.

位置誤差補償部51は、位置及び力制御方向選択部48から方向補正位置及び姿勢誤差出力∧rが入力され、位置及び姿勢誤差補償出力Ureが、動力学補償部52に向けて出力される。 The position error compensation unit 51 receives the direction correction position and posture error output ∧ e from the position and force control direction selection unit 48, and outputs the position and posture error compensation output U re to the dynamic compensation unit 52. The

動力学補償部52は、位置誤差補償部51から入力された位置及び姿勢誤差補償出力Ureを位置誤差補償に必要な各関節トルクτに変換して、各関節トルクτ関節トルク指令計算部55に向けて出力する。 Dynamics compensation unit 52 converts the position and orientation error compensation output U re inputted from the position error compensation unit 51 in the joint torque tau r required position error compensation, the joint torque tau r joint torque command calculated Output to the unit 55.

関節トルク変換部50の出力である各関節等価トルクτ、及び、動力学補償部52の出力である位置誤差補償に必要な各関節トルクτを関節トルク指令計算部55により加算した関節トルク補償出力τが動作制御部13の出力となり、ロボット本体部10に出力される。 The joint torque obtained by adding each joint equivalent torque τ f output from the joint torque conversion unit 50 and each joint torque τ r required for position error compensation output from the dynamic compensation unit 52 by the joint torque command calculation unit 55. The compensation output τ becomes the output of the motion control unit 13 and is output to the robot body unit 10.

関節トルク補償出力τは、入出力IF16のD/Aボードを介してロボット本体部10のモータドライバ17に電圧指令値として与えられ、各関節部のモータ20により各関節部が正逆回転駆動されて、ロボット本体部10が動作する。   The joint torque compensation output τ is given as a voltage command value to the motor driver 17 of the robot body 10 via the D / A board of the input / output IF 16, and each joint is driven to rotate forward and backward by the motor 20 of each joint. Thus, the robot body 10 operates.

このように動作するロボット本体部10で、掃除部材8を床面9に押し付けるように力制御を行いつつ、床面9上で掃除部材8を動かすことで、掃除動作を行うことが出来る。   With the robot body 10 operating in this manner, the cleaning operation can be performed by moving the cleaning member 8 on the floor surface 9 while performing force control so as to press the cleaning member 8 against the floor surface 9.

動作軌道データベース14から動作制御部13に軌道が入力されたときの動作制御部13の動作ステップについて、図20のフローチャートに基づいて説明する。これらの動作ステップの機能は、制御プログラム12(図2参照)としてコンピュータにそれぞれ実行させることが可能なものである。   The operation steps of the operation control unit 13 when a track is input from the operation track database 14 to the operation control unit 13 will be described based on the flowchart of FIG. The functions of these operation steps can be executed by the computer as the control program 12 (see FIG. 2).

ロボット本体部10のロボットアーム5の関節部のそれぞれのエンコーダ21により計測された関節角度データ(関節変数ベクトル又は関節角度ベクトルq)が、エンコーダ21から入出力IF16を介して制御装置11に取り込まれる(ステップS21)。   Joint angle data (joint variable vector or joint angle vector q) measured by the respective encoders 21 of the joints of the robot arm 5 of the robot body 10 is taken into the control device 11 from the encoder 21 via the input / output IF 16. (Step S21).

次いで、制御装置11に取り込まれた関節角度データ(関節変数ベクトル又は関節角度ベクトルq)に基づいて、近似逆運動学計算部54にて、ロボットアーム5の運動学計算に必要なヤコビ行列J等の計算を行う(ステップS22)。 Next, based on the joint angle data (joint variable vector or joint angle vector q) taken into the control device 11, the approximate inverse kinematics calculation unit 54 uses the Jacobian matrix J v necessary for the kinematics calculation of the robot arm 5. Etc. are calculated (step S22).

次いで、順運動学計算部53にて、ロボット本体部10のロボットアーム5の関節部のそれぞれのエンコーダ21からの関節角度データ(関節変数ベクトル又は関節角度ベクトルq)から、ロボット本体部10のロボットアーム5の現在の手先位置及び姿勢ベクトルrを計算して、目標軌道生成部45と、位置誤差計算部47と、掃除方向決定部91と、掃除面種選択部18と、領域判定部90と動作軌道生成部95となどに出力する(ステップS23)。   Next, in the forward kinematics calculation unit 53, from the joint angle data (joint variable vector or joint angle vector q) from each encoder 21 of the joint part of the robot arm 5 of the robot body part 10, the robot of the robot body part 10 is used. The current hand position and posture vector r of the arm 5 are calculated, and the target trajectory generation unit 45, the position error calculation unit 47, the cleaning direction determination unit 91, the cleaning surface type selection unit 18, and the region determination unit 90 are calculated. The data is output to the motion trajectory generating unit 95 (step S23).

次いで、力検出部7は、ロボット本体部10のロボットアーム5に取り付けられた力センサの出力情報を基に、ロボットアーム5の手先に発生している手先力ベクトルFを計算して、目標軌道生成部45と、力誤差計算部46と、掃除方向決定部91と、掃除面種選択部18と、領域判定部90となどに出力する(ステップS24)。   Next, the force detection unit 7 calculates a hand force vector F generated at the hand of the robot arm 5 based on the output information of the force sensor attached to the robot arm 5 of the robot main body unit 10 to obtain the target trajectory. It outputs to the production | generation part 45, the force error calculation part 46, the cleaning direction determination part 91, the cleaning surface kind selection part 18, the area | region determination part 90, etc. (step S24).

次いで、後述する動作軌道生成部95により生成されるロボット本体部10の動作軌道と、ステップS23で順運動学計算部53により計算して求められた手先位置及び姿勢ベクトルrと、力検出部7から入力された現在の手先力ベクトルFとに基づき、目標軌道生成部45は、ロボット本体部10のロボットアーム5の手先位置及び姿勢目標ベクトルr及び目標力ベクトルFを計算する(ステップS25)。 Next, the motion trajectory of the robot body 10 generated by the motion trajectory generation unit 95 described later, the hand position and posture vector r calculated by the forward kinematics calculation unit 53 in step S23, and the force detection unit 7 based on current and hand force vector F that is input from the target trajectory generation section 45 calculates the tip unit position and orientation of the robot arm 5 of the robot main body 10 target vector r d and the target force vector F d (step S25 ).

次いで、力誤差計算部46は、目標軌道生成部45からの目標力ベクトルFと力検出部7から出力される現在の手先力ベクトルFとの差である誤差出力ベクトルFを計算し、位置及び力制御方向選択部48に誤差出力ベクトルFを出力する(ステップ26)。 Then, the force error calculation unit 46 calculates a is the difference between the current hand force vector F which is output from the target force vector F d and the force detecting section 7 from the target track generation unit 45 error output vector F e, The error output vector Fe is output to the position and force control direction selection unit 48 (step 26).

次いで、位置誤差計算部47は、目標軌道生成部45からの手先位置及び姿勢目標ベクトルrとステップS23で順運動学計算部53により計算して求められた現在の手先位置及び姿勢ベクトルrとの差である位置及び姿勢誤差rを計算し、位置及び力制御方向選択部48に位置及び姿勢誤差rを出力する(ステップ27)。 Then, the position error calculation unit 47, the hand position and orientation target vector r d and the current tip unit position and orientation vector r obtained by calculation by the forward kinematical calculation unit 53 in step S23 from the target trajectory generation section 45 of the position and orientation error r e is the difference calculated, and outputs the position and orientation error r e to the position and force control direction selection unit 48 (step 27).

次いで、位置及び力制御方向選択部48は、力制御を行う方向と位置制御を行う方向とを切り分けて、力誤差補償部49と位置誤差補償部51とにそれぞれ方向補正力誤差出力∧Fと方向補正位置及び姿勢誤差出力∧rとを出力する(ステップ28)。 Next, the position and force control direction selection unit 48 separates the direction in which force control is performed and the direction in which position control is performed, and outputs the direction correction force error output ∧F e to the force error compensation unit 49 and the position error compensation unit 51, respectively. and it outputs the direction correction position and the orientation error output ∧r e (step 28).

次いで、力誤差補償部49は、位置及び力制御方向選択部48から入力された方向補正力誤差出力∧Fが0に収束するようにロボット本体部10を制御するための制御入力となる、力誤差補償出力UFeを計算して、力誤差補償部49から関節トルク変換部50に力誤差補償出力UFeを出力する(ステップS29)。力誤差補償部49の具体例としては、PID補償器が考えられる。定数の対角行列である比例、微分、積分の3つのゲインを適切に調整することにより、力誤差が0に収束するように力誤差補償部49の制御が働く。 Then, the force error compensation unit 49 is a control input for controlling the robot main body 10 so that the position and force direction correction input from the control direction selection unit 48 power error output ∧F e converges to 0, The force error compensation output U Fe is calculated, and the force error compensation output U Fe is output from the force error compensation unit 49 to the joint torque conversion unit 50 (step S29). A specific example of the force error compensator 49 is a PID compensator. The force error compensator 49 is controlled so that the force error converges to 0 by appropriately adjusting the three gains of proportionality, differentiation, and integration, which are constant diagonal matrices.

次いで、関節トルク変換部50は、力誤差補償部49から入力された力誤差補償出力UFeを等価関節トルクτにそれぞれ変換して、各関節等価トルクτを関節トルク変換部50から出力する(ステップS30)。 Next, the joint torque conversion unit 50 converts the force error compensation output U Fe input from the force error compensation unit 49 into an equivalent joint torque τ f , and outputs each joint equivalent torque τ f from the joint torque conversion unit 50. (Step S30).

次いで、位置誤差補償部51は、位置及び力制御方向選択部48から入力された方向補正位置及び姿勢誤差出力∧rが0に収束するようにロボットアーム5を制御するための制御入力となる、位置及び姿勢誤差補償出力Ureを計算して、位置誤差補償部51から動力学補償部52に位置及び姿勢誤差補償出力Ureを出力する(ステップS31)。位置誤差補償部51の具体例としては、PID補償器が考えられる。定数の対角行列である比例、微分、積分の3つのゲインを適切に調整することにより、位置誤差が0に収束するように位置誤差補償部51の制御が働く。 Then, the position error compensation unit 51 is a control input for controlling the robot arm 5 so that the position and orientation correction position is input from the force control direction selection unit 48 and the orientation error output ∧R e converges to 0 It calculates the position and orientation error compensation output U re, and outputs the position and orientation error compensation output U re from the position error compensating unit 51 on the kinetics compensator 52 (step S31). A specific example of the position error compensator 51 is a PID compensator. The position error compensator 51 is controlled so that the position error converges to 0 by appropriately adjusting three gains of proportionality, differentiation, and integration, which are constant diagonal matrices.

次いで、動力学補償部52は、位置誤差補償部51から入力された位置及び姿勢誤差補償出力Ureを位置誤差補償に必要な各関節トルクτに変換して、各関節トルクτ出力する(ステップS32)。 Next, the dynamic compensation unit 52 converts the position and posture error compensation output U re input from the position error compensation unit 51 into each joint torque τ r necessary for position error compensation, and outputs each joint torque τ r . (Step S32).

次いで、ステップS30で計算された等価関節トルクτとステップS32で計算された位置誤差補償関節トルクτを関節トルク指令計算部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 command calculation unit 55 to obtain a joint torque compensation output τ. The data is output to the motor driver 17 of the robot arm 10 via the input / output IF 16 (step S33).

次いで、関節トルク補償出力τは、入出力IF16を通じ、モータドライバ17に与えられ、モータドライバ17は、それぞれの関節トルク補償出力τに基づき、関節部のそれぞれのモータ20を流れる電流量をそれぞれ変化させる。このそれぞれの電流量の変化により、ロボット本体部10のロボットアーム5のそれぞれの関節部の回転運動が発生して、ロボット本体部10が動作を行なう(ステップS34)。   Next, the joint torque compensation output τ is given to the motor driver 17 through the input / output IF 16, and the motor driver 17 changes the amount of current flowing through each motor 20 of the joint portion based on each joint torque compensation output τ. Let Due to the changes in the respective current amounts, rotational movements of the respective joint portions of the robot arm 5 of the robot body portion 10 are generated, and the robot body portion 10 operates (step S34).

以上のステップにより、ロボット本体部10は動作軌道データベース14から与えられた軌道に基づく動作を行うことが出来る。   Through the above steps, the robot body 10 can perform an operation based on the trajectory given from the motion trajectory database 14.

掃除面種切替部19は、掃除面種データベース15と掃除面種選択部18とを備えて構成され、ロボット本体部10の目標軌道と、ロボット本体部10の現在位置及び姿勢と力とから、掃除面の種類を選択する。   The cleaning surface type switching unit 19 includes a cleaning surface type database 15 and a cleaning surface type selection unit 18, and includes a target trajectory of the robot body 10, a current position, posture, and force of the robot body 10. Select the type of cleaning surface.

掃除面種データベース15は、掃除面の種類を選択するための情報(掃除面の掃除表面状態情報の一例)を保持している。掃除面の種類は、力検出部7から入力される手先力ベクトルFと順運動学計算部53から入力されるロボットの手先位置及び姿勢ベクトルrとを基に、選択できる。掃除面種データベース15について図6〜図15を用いて説明する。   The cleaning surface type database 15 holds information for selecting the type of cleaning surface (an example of cleaning surface state information of the cleaning surface). The type of cleaning surface can be selected based on the hand force vector F input from the force detector 7 and the robot hand position and posture vector r input from the forward kinematics calculator 53. The cleaning surface type database 15 will be described with reference to FIGS.

まず、掃除面の種類の一例としての畳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 tatami mat 9a as an example of the kind of cleaning surface is shown in FIG. As shown in FIG. 6A, the tatami mat 9a has a texture 9b. 7A can be detected from the force detection unit 7 when the cleaning member 8 performs a tracing operation in the directions of the five arrows A, A ′, B, B ′, and C shown in FIG. The average friction coefficient of the frictional force generated between the cleaning member 8 and the tatami surface is shown. Here, an arrow A indicates a case where the cleaning member 8 is moved (tracing operation) in a direction along the texture 9b of the tatami 9a, and an arrow A ′ indicates a direction of the weave of the tatami 9a in a direction opposite to the arrow A. The case where the cleaning member 8 is moved in the direction along the eyes 9b (tracing operation) is shown. An arrow B indicates a case where the cleaning member 8 is moved (tracing operation) in a direction perpendicular to the texture 9b of the tatami 9a, and an arrow B ′ indicates a texture 9b of the tatami 9a in a direction opposite to the arrow B. The case where the cleaning member 8 is moved (tracing operation) in a direction crossing at right angles is shown. An arrow C indicates a case where the cleaning member 8 is moved (tracing operation) in a direction that obliquely crosses the texture 9b of the tatami 9a. The friction coefficient can be calculated by the force detection unit 7 by dividing the force in the traveling direction on the cleaning surface among the outputs of the force detection unit 7 during the tracing operation by the normal force of the cleaning surface. When the cleaning member 8 performs a tracing operation on the surface of the tatami 9a in the directions of arrows A and A ′, and when the cleaning member 8 performs a tracing operation in the directions of arrows B and B ′, the cleaning member 8 The friction coefficient of the frictional force generated between the tatami mat and the tatami surface is different, and the direction of the arrow B and the arrow B ′ is larger. Further, the friction coefficient in the other direction (for example, arrow C) is an intermediate value between the friction coefficient in the case of arrow A and the friction coefficient in the case of arrow B. Further, the average friction coefficients when moved in parallel and in opposite directions as indicated by arrows A and A 'and as indicated by arrows B and B' are substantially the same. In FIG. 7B, when the cleaning member 8 performs the tracing operation in each direction of the arrow shown in FIG. 6A, the cleaning member 8 can be detected between the cleaning member 8 and the tatami surface when the force detection unit 7 can detect. The time change of the friction coefficient of the generated friction force is shown. The arrow A, arrow A ', arrow B, arrow B, and arrow C all have little time change during the tracing operation in the same direction. In addition, although the tatami 9a was illustrated here, this information can be applied not only to the tatami 9a but also to a rug or a cushion that is formed by weaving rush (reed grass) which is the same constituent material as the tatami 9a.

次に、掃除面の種類の別の例としてのフローリング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 flooring 9c as another example of the kind of cleaning surface is shown in FIG. As shown in FIG. 8, some flooring 9c has a groove 9d in parallel. It can be detected from the force detection unit 7 when the cleaning member 8 performs the tracing operation in the directions of arrows E, E ′, F, F ′, and G on the flooring 9c having the groove 9d as shown in FIG. 9A and 9B show changes in frictional force generated between the cleaning member 8 and the flooring surface with respect to the tracing direction and time. Here, an arrow E indicates a case where the cleaning member 8 is moved (tracing operation) in a direction along the groove 9d of the flooring 9c, and an arrow E ′ indicates a groove 9d of the flooring 9c in a direction opposite to the arrow E. The case where the cleaning member 8 is moved in the direction along (moving) is shown. An arrow F indicates a case in which the cleaning member 8 is moved (tracing operation) in a direction transversely intersecting the groove 9d of the flooring 9c, and an arrow F ′ indicates that the groove 9d of the flooring 9c is perpendicular to the direction opposite to the arrow F. The case where the cleaning member 8 is moved (tracing operation) in the direction crossing is shown. An arrow G indicates a case where the cleaning member 8 is moved (sliding operation) in a direction obliquely crossing the groove 9d of the flooring 9c. As shown in FIG. 9B to FIG. 9D, when the cleaning member 8 performs the tracing operation on the surface of the flooring 9c in the directions of the arrow E and the arrow E ′, the cleaning member 8 does not hit the groove 9d. Always small during operation. In the directions of arrow F, arrow F ', and arrow G, the cleaning member 8 hits the groove 9d, so that the cleaning member 8 is caught and the friction coefficient fluctuates in the middle. In the directions of arrows E and E ′, as shown in FIG. 9B, the friction coefficient does not change in the middle, whereas in the directions of arrows F, F ′, and G, the directions shown in FIGS. 9C and 9D. As shown, the coefficient of friction varies greatly so as to increase midway. For this reason, the average friction coefficient is small in the arrow E and the arrow E ′, and is large in the arrow F, the arrow F ′, and the arrow G. Further, the average friction coefficients when moved in parallel and in opposite directions as indicated by arrows E and E 'and arrows F and F' are substantially the same.

次に、掃除面の種類のさらに別の例としての、柄のない絨毯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 carpet 9e having no handle as another example of the type of the cleaning surface. FIG. 10B is a cross-sectional view of the carpet 9e as viewed from the direction A in FIG. 10A. As shown in FIG. 10A, in some regions of the carpet 9e, the hair feet 9f are not vertically but are woven with a direction. The cleaning member 8 and the carpet surface that can be detected by the force detection unit 7 when the cleaning member 8 performs a tracing operation in the directions of arrows H, H ′, I, I ′, and J on the carpet 9e as shown in FIG. 10A. FIG. 11A shows the average friction coefficient of the frictional force generated between the two. Here, the arrow H indicates a case where the cleaning member 8 is moved (tracing operation) in a direction in which the hair foot 9f of the carpet 9e is raised, and an arrow H ′ indicates a hair foot of the carpet 9e in a direction opposite to the arrow H. The case where the cleaning member 8 is moved in the direction in which 9f is laid down (that is, the direction parallel to and opposite to the direction in which the bristle feet 9f are raised) is shown. An arrow I indicates a case in which the cleaning member 8 is moved (tracing operation) in a direction perpendicular to the direction in which the hairs 9f of the carpet 9e are raised or the direction in which the hairs 9f are laid down. In the reverse direction, a case where the cleaning member 8 is moved (tracing operation) in a direction orthogonal to the direction of raising the hair feet 9f of the carpet 9e or the direction of lying down the hair feet 9f is shown. An arrow J indicates a case in which the cleaning member 8 is moved (tracing operation) in a direction that obliquely intersects the direction in which the hair 9f of the carpet 9e is raised or the direction in which the hair 9f is laid down. In the carpet 9e, when the cleaning member 8 performs a tracing operation in a direction in which the hair foot 9f is raised (in the direction of arrow H in FIG. 10A), the friction coefficient is the largest, that is, the direction in which the hair foot 9f is laid down, that is, the hair foot 9f. The friction coefficient becomes the smallest when the cleaning member 8 performs the tracing operation in a direction parallel to and opposite to the direction in which the movement occurs (in the direction of the arrow H ′ in FIG. 10A). In the other direction (in the directions of arrows I, I ', and J in FIG. 10A), an intermediate value of the friction coefficients is taken. In addition, as shown in FIG. 11B, the time change of the friction coefficient during the tracing operation of the cleaning member 8 does not change much when the cleaning member 8 performs the tracing operation in the same direction. Like the coefficient, the direction of arrow H is the largest and the direction of arrow H ′ is the smallest.

以上のことを基に、掃除面種データベース15の一例を図12に示す。掃除面種データベース15は、畳と、絨毯と、溝のあるフローリングとについて、掃除面の掃除表面状態情報の一例として、平均摩擦係数の最大値とその平均摩擦係数が最大値の場合の向きと直交する向きの平均摩擦係数との差μtdと、平均摩擦係数の最大値とその平均摩擦係数が最大値の場合の向きと逆向きの平均摩擦係数との差μta,μja,μfa,と、平均摩擦係数が最大となる方向におけるなぞり動作中の摩擦係数の最大値と最小値の差μtp,μjp,μfpとをそれぞれ保持している。ただし、絨毯とフローリングについては、平均摩擦係数が最大値の場合の向きとそれと直交する向きの平均摩擦係数の差を特に規定しない。 Based on the above, an example of the cleaning surface type database 15 is shown in FIG. The cleaning surface type database 15 includes, as an example of cleaning surface state information of the cleaning surface, about the tatami mat, the carpet, and the grooved flooring, the maximum value of the average friction coefficient, and the direction when the average friction coefficient is the maximum value. The difference μ td between the average friction coefficient in the orthogonal direction, and the difference μ ta , μ ja , μ fa between the maximum value of the average friction coefficient and the average friction coefficient in the opposite direction when the average friction coefficient is the maximum value. , And the differences μ tp , μ jp , μ fp between the maximum and minimum values of the friction coefficient during the tracing operation in the direction in which the average friction coefficient is maximum. However, for carpets and flooring, the difference between the average friction coefficient in the direction in which the average friction coefficient is the maximum value and the direction perpendicular thereto is not specified.

掃除面種選択部18は、力検出部7から入力される手先力ベクトルFと順運動学計算部53から入力されるロボット本体部10の手先位置及び姿勢ベクトルrと掃除面種データベース15の情報とを基に、掃除面の種類を選択する。さらに、掃除面種選択部18は、掃除面種選択部18で選択した掃除面の種類の情報を掃除方向決定部91と動作軌道生成部95とに出力する。   The cleaning surface type selection unit 18 includes a hand force vector F input from the force detection unit 7, a hand position and posture vector r of the robot body 10 input from the forward kinematics calculation unit 53, and information on the cleaning surface type database 15. Based on the above, the type of cleaning surface is selected. Further, the cleaning surface type selection unit 18 outputs information on the type of the cleaning surface selected by the cleaning surface type selection unit 18 to the cleaning direction determination unit 91 and the operation trajectory generation unit 95.

掃除面種選択部18での掃除面の種類の選択動作(掃除面種選択動作)ステップについて、図13のフローチャートに基づいて説明する。   The cleaning surface type selection operation (cleaning surface type selection operation) step in the cleaning surface type selection unit 18 will be described with reference to the flowchart of FIG.

始めに、後述するロボット本体部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 force detection unit 7 and the forward kinematics calculation unit 53 input during the search operation (moving operation for obtaining cleaning surface type information) of the robot main body unit 10 described later. based on the hand position and orientation vector r of the robot arm 5 of the robot main body 10, and stored in the cleaning surface type selection unit 18 calculates the direction-of the hand force F nt tracing operation in the cleaning surface type selection section 18 (See FIG. 14) Further, the force in the direction of the tracing operation is divided by the vertical drag of the tracing surface, and the friction coefficient μ nt for each tracing operation direction is calculated by the cleaning surface type selecting unit 18 and the cleaning surface type selecting unit 18 Store (see FIG. 15) (step S1).

具体的には、図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 direction 1 to direction N at time t = 1 and the hand forces F from direction 1 to direction N at time t = 2. 12 to F N2 , hand forces F 13 to F N3 from direction 1 to direction N at time t = 3,..., Hand forces F 1T from direction 1 to direction N at time t = T and to F NT is calculated at cleaned surface type selection section 18. Further, as shown in FIG. 15, the friction coefficients μ 11 to μ N1 from the direction 1 to the direction N at the time t = 1, and the friction coefficients μ 12 to μ N2 from the direction 1 to the direction N at the time t = 2. , Friction coefficient μ 13 to μ N3 from direction 1 to direction N at time t = 3, and... Friction coefficient μ 1T to μ NT from direction 1 to direction N at time t = T. This is calculated by the cleaning surface type selection unit 18. Here, the direction refers to each direction of a tracing motion trajectory in a search operation to be described later (see a dotted arrow direction in FIG. 17).

次いで、各方向別に摩擦係数の平均値(平均摩擦係数)μ〜μを掃除面種選択部18で計算して記憶する(ステップS2)。これを、図15に、方向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 type selection unit 18 and stored (step S2). This, in Figure 15, presented as mean friction coefficients up direction 1 Direction N μ 1 ~μ N. At this time, immediately after the start of the tracing operation and immediately before the stop, since the friction coefficient is not stabilized by switching between the static friction and the dynamic friction, the data immediately after the start of the tracing operation and immediately before the stop is not used.

次いで、掃除面種選択部18に記憶された各方向別に摩擦係数の平均値(平均摩擦係数)μ〜μのうちから、平均摩擦係数が最大値の場合の方向を掃除面種選択部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 type selection unit 18. The cleaning surface type selection unit 18 obtains the difference between the maximum value and the minimum value among the friction coefficients during the tracing operation in the direction in the case of the extracted maximum value (step S3). For example, in FIG. 15, when the cleaning surface type selection unit 18 extracts that the direction when the average friction coefficient is the maximum value is “direction 2”, the direction of “direction 2” which is the direction when the maximum value is extracted. Among the friction coefficients from the time t = 1 to the time t = T during the tracing operation, the cleaning surface type selection unit 18 obtains the difference between the maximum value and the minimum value.

次いで、ステップS3で計算した差が、掃除面種データベース15に記憶された、溝のあるフローリングでの平均摩擦係数が最大値の場合となる方向におけるなぞり動作中の摩擦係数の最大値と最小値の差μfp以上であるかどうかを掃除面種選択部18で判定する(ステップS4)。 Next, the difference calculated in step S3 is stored in the cleaning surface type database 15, and the maximum value and the minimum value of the friction coefficient during the tracing operation in the direction in which the average friction coefficient in the flooring with grooves is the maximum value. The cleaning surface type selection unit 18 determines whether or not the difference is equal to or greater than μ fp (step S4).

以下は、ステップS4で、ステップS3で計算した差が、フローリングの前記差μfp以上であると掃除面種選択部18で判定した場合は、ステップS5に進む。以下、ステップS5以降の動作について説明する。 Hereinafter, in step S4, when the cleaning surface type selection unit 18 determines that the difference calculated in step S3 is equal to or larger than the difference μ fp of flooring, the process proceeds to step S5. Hereinafter, the operation after step S5 will be described.

ステップS5では、掃除面種選択部18に記憶された情報を基に、最大平均摩擦係数と、その最大平均摩擦係数の方向と平行かつその方向と逆向きでのなぞり動作中の平均摩擦係数との差を掃除面種選択部18で計算する。   In step S5, based on the information stored in the cleaning surface type selection unit 18, the maximum average friction coefficient, the average friction coefficient during the tracing operation in the direction parallel to and opposite to the direction of the maximum average friction coefficient, and The cleaning surface type selection unit 18 calculates the difference.

次いで、ステップS5で計算した差が、掃除面種データベース15に記憶された、溝のあるフローリングでの平均摩擦係数の最大値とその平均摩擦係数が最大値の場合の向きと逆向きの平均摩擦係数との差μfa以下であるかどうかを、掃除面種選択部18で判定する(ステップS6)。 Next, the difference calculated in step S5 is stored in the cleaning surface type database 15. The maximum value of the average friction coefficient in the grooved flooring and the average friction in the direction opposite to the direction when the average friction coefficient is the maximum value. The cleaning surface type selection unit 18 determines whether or not the difference from the coefficient μfa or less (step S6).

以下は、ステップS6で、ステップS5で計算した差が、前記差μfa以下であると掃除面種選択部18で判定した場合には、ステップS7に進む。 Thereafter, in step S6, when the cleaning surface type selection unit 18 determines that the difference calculated in step S5 is equal to or less than the difference μfa , the process proceeds to step S7.

ステップS7では、掃除面種を、「溝ありのフローリング」であると掃除面種選択部18で決定し、面種が「フローリング」であるとの情報を、掃除面種選択部18から掃除方向決定部91と動作軌道生成部95とに出力して、一連の掃除面種選択動作ステップを終了する。前述の通り、フローリングの溝と直交する方向になぞり動作を行った場合に、平均摩擦係数が最も大きくなるため、フローリングの溝の方向は、最大平均摩擦係数の向きと直交する向きである。   In step S 7, the cleaning surface type is determined by the cleaning surface type selection unit 18 as “flooring with grooves”, and information that the surface type is “flooring” is sent from the cleaning surface type selection unit 18 to the cleaning direction. It outputs to the determination part 91 and the operation | movement trajectory generation part 95, and complete | finishes a series of cleaning surface kind selection operation steps. As described above, when the tracing operation is performed in the direction orthogonal to the groove of the flooring, the average friction coefficient becomes the largest, so the direction of the groove of the flooring is the direction orthogonal to the direction of the maximum average friction coefficient.

一方、ステップ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 type selection section 18 proceeds to step S8.

ステップ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 surface type database 15, so the cleaning surface type is unknown. If there is, the cleaning surface type selection unit 18 determines that the surface type is unknown, and outputs information indicating that the surface type is unknown to the cleaning direction determination unit 91 and the motion trajectory generation unit 95 from the cleaning surface type selection unit 18. The face type selection operation step is terminated.

以下は、ステップS4で、ステップS3で計算した差が、フローリングの前記差μfpより小さいと掃除面種選択部18で判定した場合は、ステップS9に進む。以下、ステップS9以降の動作について説明する。 Hereinafter, in step S4, when the cleaning surface type selection unit 18 determines that the difference calculated in step S3 is smaller than the difference μ fp of flooring, the process proceeds to step S9. Hereinafter, the operation after step S9 will be described.

ステップS9では、掃除面種選択部18に記憶された情報を基に、最大平均摩擦係数と、その最大平均摩擦係数の方向と平行かつその方向と逆向きでの平均摩擦係数との差を掃除面種選択部18で計算する。   In step S9, based on the information stored in the cleaning surface type selection unit 18, the difference between the maximum average friction coefficient and the average friction coefficient parallel to and opposite to the direction of the maximum average friction coefficient is cleaned. Calculation is performed by the face type selection unit 18.

次いで、ステップS9で計算した差が、掃除面種データベース15に記憶された、絨毯での平均摩擦係数の最大値とその平均摩擦係数が最大値の場合の向きと逆向きの平均摩擦係数との差μja以上であるかどうかを掃除面種選択部18で判定する(ステップS10)。 Next, the difference calculated in step S9 is stored in the cleaning surface type database 15 between the maximum value of the average friction coefficient in the carpet and the average friction coefficient in the direction opposite to the direction when the average friction coefficient is the maximum value. The cleaning surface type selection unit 18 determines whether or not the difference is greater than or equal to ja (step S10).

以下は、ステップ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 type selection section 18 as being the difference mu niv above, the process proceeds to step S11.

ステップS11では、掃除面種を絨毯であると掃除面種選択部18で決定し、面種が絨毯であるとの情報を、掃除面種選択部18から掃除方向決定部91と動作軌道生成部95とに出力して、一連の掃除面種選択動作ステップを終了する。毛並みの方向(例えば、毛足9fを起こす方向)は、最大平均摩擦係数の向きである。   In step S11, the cleaning surface type selection unit 18 determines that the cleaning surface type is a carpet, and information indicating that the surface type is a carpet is sent from the cleaning surface type selection unit 18 to the cleaning direction determination unit 91 and the motion trajectory generation unit. 95, and a series of cleaning surface type selection operation steps are completed. The direction of the fur (for example, the direction in which the hair feet 9f are raised) is the direction of the maximum average friction coefficient.

一方、ステップ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 type selection section 18 proceeds to step 12.

ステップ12では、ステップ9で計算した差が、掃除面種データベース15に記憶された、畳での平均摩擦係数の最大値とその平均摩擦係数が最大値の場合の向きと逆向きの平均摩擦係数との差μta以下であるかどうかを掃除面種選択部18で判定する。 In step 12, the difference calculated in step 9 is stored in the cleaning surface type database 15, and the maximum value of the average friction coefficient in the tatami mat and the average friction coefficient in the direction opposite to the direction when the average friction coefficient is the maximum value. whether it is less than the difference mu ta between checked by cleaning surface type selection section 18.

以下は、ステップ12で、ステップ9で計算した差が、前記差μtaより大きいと掃除面種選択部18で判定した場合には、ステップS13に進む。 The following is a step 12, the difference calculated in step 9, if it is determined by the difference mu ta greater than the cleaned surface type selection section 18 proceeds to step S13.

ステップS13では、ステップ9で計算した差が前記差μtaより大きい場合については、掃除面種データベース15に記憶された情報を参照しても掃除面種を選択できないため、掃除面種を不明であると掃除面種選択部18で決定し、面種が不明であるとの情報を、掃除面種選択部18から掃除方向決定部91と動作軌道生成部95とに出力して、一連の掃除面種選択動作ステップを終了する。 In step S13, when the difference calculated in step 9 is larger than the difference μta , the cleaning surface type cannot be selected even if referring to the information stored in the cleaning surface type database 15, the cleaning surface type is unknown. If there is, the cleaning surface type selection unit 18 determines that the surface type is unknown, and outputs information indicating that the surface type is unknown from the cleaning surface type selection unit 18 to the cleaning direction determination unit 91 and the motion trajectory generation unit 95. The face type selection operation step is terminated.

一方、ステップ12で、ステップ9で計算した差が、前記差μta以下であると掃除面種選択部18で判定した場合には、ステップS14に進む。以下、ステップS14以降の動作について説明する。 On the other hand, if it is determined in step 12 that the difference calculated in step 9 is equal to or less than the difference μta , the cleaning surface type selection unit 18 proceeds to step S14. Hereinafter, the operation after step S14 will be described.

ステップS14では、掃除面種選択部18に記憶された情報を基に、最大平均摩擦係数と、その最大平均摩擦係数の方向と直交する方向の平均摩擦係数の差を掃除面種選択部18で計算する(ステップS14)。ある1つの直交する方向が存在すると、その逆向きも直交するため、最大平均摩擦係数の方向とその方向と直交する方向とが2つある場合もあるが、その場合の差は、小さいほうの差を掃除面種選択部18で選択する。   In step S14, based on the information stored in the cleaning surface type selection unit 18, the cleaning surface type selection unit 18 determines the difference between the maximum average friction coefficient and the average friction coefficient in the direction orthogonal to the direction of the maximum average friction coefficient. Calculate (step S14). If there is one orthogonal direction, the opposite direction is also orthogonal, so there may be two directions of the maximum average friction coefficient and the direction orthogonal to that direction. The difference is selected by the cleaning surface type selection unit 18.

次いで、ステップS14で計算した差が、掃除面種データベース15に記憶された、畳での平均摩擦係数の最大値とその平均摩擦係数が最大値の場合の向きと直交する向きの平均摩擦係数との差μtd以上であるかどうかを掃除面種選択部18で判定する(ステップ15)。 Next, the difference calculated in step S14 is stored in the cleaning surface type database 15, and the maximum value of the average friction coefficient in the tatami mat and the average friction coefficient in the direction orthogonal to the direction when the average friction coefficient is the maximum value, The cleaning surface type selection unit 18 determines whether or not the difference is greater than or equal to μtd (step 15).

以下は、ステップ15で、ステップS14で計算した差が、前記差μtd以上であると掃除面種選択部18で判定した場合には、ステップS16に進む。 The following is a step 15, the difference calculated in step S14 is, if it is determined in cleaned surface type selection section 18 as being the difference mu td above, the process proceeds to step S16.

ステップS16では、掃除面種を畳と掃除面種選択部18で決定し、面種が畳であるとの情報を、掃除方向決定部91と動作軌道生成部95とに掃除面種選択部18から出力して、一連の掃除面種選択動作ステップを終了する。畳の織目方向とは、最大平均摩擦係数の方向と直交する方向である。   In step S <b> 16, the cleaning surface type is determined by the tatami mat and the cleaning surface type selecting unit 18, and information indicating that the surface type is tatami is sent to the cleaning direction determining unit 91 and the motion trajectory generating unit 95. To end the series of cleaning surface type selection operation steps. The texture direction of the tatami mat is a direction orthogonal to the direction of the maximum average friction coefficient.

以下はステップ15で、ステップS14で計算した差が、前記差μtdより小さいと掃除面種選択部18で判定した場合には、ステップS17に進む。 The following is a step 15, the difference calculated in step S14 is, if it is determined by the difference mu td smaller the cleaned surface type selection section 18 proceeds to step S17.

ステップ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 surface type database 15. Therefore, the cleaning surface type is unknown. If there is, the cleaning surface type selection unit 18 determines that the surface type is unknown, and outputs information indicating that the surface type is unknown to the cleaning direction determination unit 91 and the motion trajectory generation unit 95 from the cleaning surface type selection unit 18. The face type selection operation step is terminated.

以上のように、掃除面種選択部18は、掃除面種データベース15に記憶された情報を基に、掃除面種の情報を決定して、決定した結果の情報を、掃除方向決定部91と動作軌道生成部95とに出力する。   As described above, the cleaning surface type selection unit 18 determines the cleaning surface type information based on the information stored in the cleaning surface type database 15, and determines the determined information as the cleaning direction determination unit 91. To the motion trajectory generator 95.

掃除方向決定部91は、掃除面種切替部19から出力される掃除面種と、力検出部7から入力される手先力ベクトルFと、順運動学計算部53から入力されるロボット本体部10の手先位置及び姿勢ベクトルrとに基づき、掃除面種に適した掃除方向を決定する。決定した掃除方向は、動作軌道データベース14に掃除方向決定部91から出力する。掃除方向決定部91により決定される「掃除面種に適した掃除方向」とは、畳では、織目に沿って往復する方向であり、絨毯では、往復動作のうちの往きの動作中に毛並みを起こして帰りの動作中に毛並みを整える方向であり、溝のあるフローリングでは、溝に平行に往復する方向などである。畳では織目の方向の判定、絨毯では毛並みの方向の判定、溝のあるフローリングでは溝の方向の判定は、前述の掃除面種データベース15と同様に、なぞり動作を行ったときの摩擦係数から掃除方向決定部91で判定できる。   The cleaning direction determination unit 91 includes a cleaning surface type output from the cleaning surface type switching unit 19, a hand force vector F input from the force detection unit 7, and a robot body unit 10 input from the forward kinematics calculation unit 53. Based on the hand position and posture vector r, a cleaning direction suitable for the type of cleaning surface is determined. The determined cleaning direction is output from the cleaning direction determination unit 91 to the motion trajectory database 14. The “cleaning direction suitable for the type of cleaning surface” determined by the cleaning direction determining unit 91 is a direction that reciprocates along the texture in the tatami mat, and in the carpet, the fur line during the forward operation of the reciprocating operation. This is a direction in which the fur is arranged during the return operation, and in a flooring with a groove, the direction reciprocates in parallel with the groove. In the case of tatami mats, the direction of the texture is determined. In the case of carpets, the direction of fur is determined. This can be determined by the cleaning direction determination unit 91.

以下、掃除方向決定部91での掃除方向決定動作ステップについて、図25のフローチャートに基づいて説明する。   Hereinafter, the cleaning direction determination operation step in the cleaning direction determination unit 91 will be described based on the flowchart of FIG.

始めに、後述するロボット本体部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 force detection unit 7 and a robot input from the forward kinematics calculation unit 53 during a search operation (moving operation for obtaining information on the cleaning direction) of the robot body unit 10 described later. Based on the hand position and posture vector r of the robot arm 5 of the main body 10, the hand force F nt for each direction of the tracing operation is calculated by the cleaning direction determining unit 91 and stored in the cleaning direction determining unit 91 (FIG. 14). Further, the force in the direction of the tracing operation is divided by the vertical drag of the tracing surface, and the friction coefficient μ nt for each tracing operation direction is calculated by the cleaning direction determining unit 91 and stored in the cleaning direction determining unit 91 (see FIG. (Refer FIG. 15) (step S61).

次いで、掃除方向決定部91内に記憶された情報に基づき、各方向別に摩擦係数の平均値(平均摩擦係数)を掃除方向決定部91で計算する(ステップS62)。このとき、なぞり動作の開始直後と停止直前は、静止摩擦と動摩擦の切り替えにより摩擦係数が安定しないため、なぞり動作の開始直後と停止直前のデータは使用しない。   Next, based on the information stored in the cleaning direction determination unit 91, the cleaning direction determination unit 91 calculates the average value of friction coefficients (average friction coefficient) for each direction (step S62). At this time, immediately after the start of the tracing operation and immediately before the stop, since the friction coefficient is not stabilized by switching between the static friction and the dynamic friction, the data immediately after the start of the tracing operation and immediately before the stop is not used.

次いで、掃除面種選択部18から掃除方向決定部91に入力された掃除面種の情報を基に、掃除面種が絨毯であるかどうかを掃除方向決定部91で判定する(ステップS63)。   Next, based on the information on the cleaning surface type input from the cleaning surface type selection unit 18 to the cleaning direction determination unit 91, the cleaning direction determination unit 91 determines whether or not the cleaning surface type is a carpet (step S63).

ステップS63で、掃除面種が絨毯であると掃除方向決定部91で判定した場合には、ステップS64に進む。   If the cleaning direction determination unit 91 determines in step S63 that the cleaning surface type is carpet, the process proceeds to step S64.

ステップS64では、掃除方向決定部91内に記憶された情報に基づき、平均摩擦係数が最大値の場合の方向を掃除方向決定部91で抽出して、抽出された情報を、掃除方向決定部91から動作軌道生成部95に出力して、一連の掃除方向決定動作を終了する。前述の通り、毛並みの方向は、最大平均摩擦係数の向きである。   In step S64, based on the information stored in the cleaning direction determination unit 91, the direction when the average friction coefficient is the maximum value is extracted by the cleaning direction determination unit 91, and the extracted information is extracted from the cleaning direction determination unit 91. Is output to the motion trajectory generation unit 95, and a series of cleaning direction determination operations are terminated. As described above, the direction of the fur is the direction of the maximum average friction coefficient.

一方、ステップS63で、掃除面種が絨毯以外であると掃除方向決定部91で判定した場合には、ステップS65に進む。   On the other hand, when the cleaning direction determining unit 91 determines in step S63 that the cleaning surface type is other than the carpet, the process proceeds to step S65.

ステップS65では、掃除面種選択部18から掃除方向決定部91に入力された掃除面種の情報を基に、掃除面種がフローリングであるかどうかを掃除方向決定部91で判定する。   In step S65, the cleaning direction determination unit 91 determines whether or not the cleaning surface type is flooring based on the cleaning surface type information input from the cleaning surface type selection unit 18 to the cleaning direction determination unit 91.

ステップS65で、掃除面種がフローリングであると掃除方向決定部91で判定した場合には、ステップS66に進む。   If the cleaning direction determining unit 91 determines in step S65 that the cleaning surface type is flooring, the process proceeds to step S66.

ステップS66では、掃除方向決定部91内に記憶された情報に基づき、平均摩擦係数が最大値の場合の方向と直交する方向を掃除方向決定部91で抽出して、抽出された情報を、掃除方向決定部91から動作軌道生成部95に出力して、一連の掃除方向決定動作を終了する。前述の通り、溝と直交する方向になぞり動作を行った場合に、最も平均摩擦係数が大きくなるため、溝の方向は、最大平均摩擦係数の向きと直交する向きである。   In step S66, based on the information stored in the cleaning direction determination unit 91, the cleaning direction determination unit 91 extracts a direction orthogonal to the direction when the average friction coefficient is the maximum value, and the extracted information is cleaned. The direction determining unit 91 outputs to the motion trajectory generating unit 95, and the series of cleaning direction determining operations is completed. As described above, when the tracing operation is performed in a direction orthogonal to the groove, the average friction coefficient is the largest, so the direction of the groove is a direction orthogonal to the direction of the maximum average friction coefficient.

一方、ステップS65で、掃除面種がフローリング以外であると掃除方向決定部91で判定した場合には、ステップS67に進む。   On the other hand, when the cleaning direction determination unit 91 determines in step S65 that the cleaning surface type is other than flooring, the process proceeds to step S67.

ステップS67では、掃除面種選択部18から掃除方向決定部91に入力された掃除面種の情報を基に、平均摩擦係数が最小の方向を掃除方向決定部91で抽出して、抽出された情報を、掃除方向決定部91から動作軌道生成部95に出力して、一連の掃除方向決定動作を終了する。このように平均摩擦係数が最小の方向を出力する理由は、以下の通りである。絨毯以外でかつフローリング以外の場合、畳の場合か、又は、面種不明の場合が相当するが、畳の場合、畳の織目方向は平均摩擦係数が最も小さくなる方向である。また、面種不明の場合、掃除面を傷つけないために、摩擦すなわち抵抗が小さい方向に掃除をするのが望ましいと考えられるため、平均摩擦係数が最小の方向を出力する。   In step S67, based on the information on the cleaning surface type input from the cleaning surface type selection unit 18 to the cleaning direction determination unit 91, the direction having the smallest average friction coefficient is extracted by the cleaning direction determination unit 91 and extracted. Information is output from the cleaning direction determination unit 91 to the motion trajectory generation unit 95, and a series of cleaning direction determination operations is completed. The reason why the average friction coefficient is output in the minimum direction is as follows. In the case other than the carpet and the flooring, the case of tatami mat or the case of unknown surface type corresponds, but in the case of tatami mat, the texture direction of the tatami mat is the direction in which the average friction coefficient is the smallest. When the surface type is unknown, it is considered that it is desirable to clean in the direction where the friction, that is, the resistance is small so as not to damage the cleaning surface, so the direction with the minimum average friction coefficient is output.

以上のように、掃除方向決定部91は、掃除面種切替部19から出力される掃除面種と、力検出部7から入力される手先力ベクトルFと、順運動学計算部53から入力されるロボット本体部10の手先位置及び姿勢ベクトルrとに基づき、掃除面にそれぞれ適した掃除方向を決定し、決定情報を動作軌道生成部95に出力することが出来る。   As described above, the cleaning direction determination unit 91 is input from the cleaning surface type output from the cleaning surface type switching unit 19, the hand force vector F input from the force detection unit 7, and the forward kinematics calculation unit 53. On the basis of the hand position and posture vector r of the robot main body unit 10, the cleaning direction suitable for the cleaning surface can be determined and the determined information can be output to the motion trajectory generating unit 95.

動作軌道生成部95は掃除方向決定部91から入力される掃除方向と、掃除面種選択部18から入力される掃除面種情報を元に、動作軌道データベース14から適切な掃除動作軌道を読み込み、ロボット本体部10の手先位置及び姿勢の軌道を生成するし、目標軌道生成部45に出力する。同時に生成した清掃動作を記憶する。さらに、後述する探索動作を行う時は動作軌道データベース14から探索動作軌道を読み込み、目標軌道生成部45に出力する。   The operation trajectory generation unit 95 reads an appropriate cleaning operation trajectory from the operation trajectory database 14 based on the cleaning direction input from the cleaning direction determination unit 91 and the cleaning surface type information input from the cleaning surface type selection unit 18. A trajectory of the hand position and orientation of the robot body 10 is generated and output to the target trajectory generator 45. The cleaning operation generated at the same time is stored. Further, when a search operation to be described later is performed, the search motion trajectory is read from the motion trajectory database 14 and output to the target trajectory generation unit 45.

ここで、動作軌道データベース14には、事前に、それぞれの時間(t=0、t=t、t=t、・・・)でのポイントごとの位置(rd0、rd1、rd2、・・・)及び力(Fd0、Fd1、Fd2、・・・)が与えられている。その一例を図16に示す。図16は、それぞれの掃除面種に対して行うべき清掃動作を示す、動作軌道データベース14の一例である。図16における、掃除方向のプラス記号「+」は、掃除方向決定部91から、動作軌道生成部95に入力された掃除方向を意味する。掃除方向のマイナス記号「−」は、プラスの方向と逆向きの方向を意味する。 Here, in the motion trajectory database 14, positions (r d0 , r d1 , r d2 ) for each point at each time (t = 0, t = t 1 , t = t 2 ,...) Are stored in advance. ,...) And force (F d0 , F d1 , F d2 ,...). An example is shown in FIG. FIG. 16 is an example of the operation trajectory database 14 showing the cleaning operation to be performed for each cleaning surface type. In FIG. 16, the plus sign “+” of the cleaning direction means the cleaning direction input from the cleaning direction determination unit 91 to the operation trajectory generation unit 95. A minus sign “−” of the cleaning direction means a direction opposite to the plus direction.

図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 hair feet 9f, and then, in the return direction, cleaning is performed in the direction of returning the hair feet. In order to clean the hair while raising the hair, the cleaning member 8 is strongly pressed (10N in the example of FIG. 16) for cleaning, and on the way back, the cleaning member is pressed to adjust the fur. (In the example of FIG. 16, it is reduced to 5N). In flooring cleaning, cleaning is performed by reciprocating in a direction parallel to the groove in the flooring. Since there is no difference in the cleaning surface between the reciprocating movement and the return, the same force (3N in the example of FIG. 16) is applied. Clean. When the type of the cleaning surface is unknown, the cleaning is performed by applying the same force (5N in the example of FIG. 16) on the assumption that there is no difference in the cleaning surface between the reciprocation and the return.

また、動作軌道データベース14には、掃除面種及び掃除面方向を判断するための情報を得るための探索動作の軌道も与えられている。探索動作軌道の一例を図17に示す。   The motion trajectory database 14 is also provided with a trajectory for a search motion for obtaining information for determining the cleaning surface type and the cleaning surface direction. An example of the search motion trajectory is shown in FIG.

図17は、床面9に対して掃除を行うときの自走式掃除ロボット1を上空から見た図である。掃除部材8を掃除面である床面9に押付けながら、ロボット本体部2は静止したままで、ロボットアーム5を駆動して矢印の方向に掃除部材8でなぞり動作を行い、なぞり動作中の方向と、そのときの力検出部7からの出力である手先の力とを掃除面種選択部18に入力することで、掃除面種選択部18は掃除面種の判断が可能となり、動作中の方向とそのときの力検出部7からの出力である手先の力を、力検出部7から掃除方向決定部91に入力することで、掃除方向決定部91は掃除面種の判断が可能となる。   FIG. 17 is a view of the self-propelled cleaning robot 1 as viewed from above when cleaning the floor surface 9. While pressing the cleaning member 8 against the floor surface 9 as a cleaning surface, the robot body 2 remains stationary and the robot arm 5 is driven to perform a tracing operation with the cleaning member 8 in the direction of the arrow. And the hand force, which is the output from the force detection unit 7 at that time, is input to the cleaning surface type selection unit 18, so that the cleaning surface type selection unit 18 can determine the cleaning surface type and is in operation. The cleaning direction determination unit 91 can determine the type of cleaning surface by inputting the direction and the hand force that is the output from the force detection unit 7 at that time from the force detection unit 7 to the cleaning direction determination unit 91. .

領域判定部90は、力検出部7から入力される手先力ベクトルFと順運動学計算部53から入力されるロボット本体部10の手先位置及び姿勢ベクトルrとを基に、領域の切り替わりを判定し、判定結果の情報を領域判定部90から動作軌道データベース14に出力する。領域判定部90について、図18A及び図18B、図19を用いて説明する。   The region determination unit 90 determines the switching of regions based on the hand force vector F input from the force detection unit 7 and the hand position and posture vector r of the robot body unit 10 input from the forward kinematics calculation unit 53. Then, information on the determination result is output from the region determination unit 90 to the motion trajectory database 14. The region determination unit 90 will be described with reference to FIGS. 18A, 18B, and 19.

図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 tatami mat 9a between six tatami mats (how to lay six tatami mats 9a on a rectangular floor of one room). The arrow indicates the locus of the cleaning member 8 of the robot body 10. In the movement trajectories β, β ′, β ″, β ′ ″ along the arrows in the direction parallel to the y-axis in FIG. 18A, the cleaning member 8 is pressed against the cleaning surface to perform wiping, and the direction parallel to the x-axis In the movement trajectories α, α ′, α ″, α ′ ″ along the arrows of the tatami mat 9a, only the cleaning member 8 is moved on the cleaning surface without pressing the cleaning member 8 against the cleaning surface. This shows a state where the cleaning member 8 performs wiping and cleaning along the texture 9b. However, at point A in FIG. 18A, the tatami (texture 9b is parallel to the y-axis) 9a that has been cleaned up to another tatami (texture 9b is parallel to the x-axis) 9a. In another tatami mat 9a, wiping and cleaning are performed along the movement locus of the cleaning member 8 along a direction orthogonal to the texture 9b parallel to the x-axis. FIG. 18B shows the relationship between the change in the friction coefficient during wiping and cleaning, the average value of the friction coefficient during wiping in the positive direction of the y-axis (average friction coefficient μ), and time. When wiping and cleaning is performed on the track of FIG. 18A, the friction coefficient becomes 0 when the cleaning member 8 is moved without pressing, and the friction coefficient increases when the cleaning member 8 is actually cleaning, At point A, the wiper is wiped perpendicularly to the texture 9b, so that the friction coefficient further increases, so the change in the friction coefficient is as shown by the solid line in FIG. 18B. It can be seen that the friction coefficient greatly increases when the solid line in FIG. 18B reaches the time corresponding to the point A near the right end. Further, the average friction coefficient when wiping in the positive direction of the y-axis is indicated by the symbol “x” in FIG. 18B.

図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 carpet 9e and the cleaning member 8 of the robot body 10 during carpet cleaning. In the movement traces β, β ′, β ″ along the arrows in the direction parallel to the y-axis in FIG. 19A, the cleaning member 8 is pressed against the cleaning surface to perform wiping, and along the arrows in the direction parallel to the x-axis. In the movement trajectories α, α ′, α ″, α ′ ″, only the cleaning member 8 is moved on the cleaning surface without pressing the cleaning member 8 against the cleaning surface. It shows a state where wiping and cleaning are performed. However, at point B in FIG. 19A, the cleaning surface type is switched by switching from the carpet 9e to the flooring 9c. FIG. 19B shows the relationship between the change in the friction coefficient during the wiping cleaning, the average value of the friction coefficient during the wiping operation in the positive direction of the y-axis (average friction coefficient μ), and time. When wiping and cleaning is performed on the track of FIG. 19A, the friction coefficient becomes 0 when the cleaning member 8 moves without being pressed, and the friction coefficient increases when the cleaning member 8 is actually cleaning, The coefficient of friction is larger when wiping is performed along the positive direction of the y-axis than when wiping is performed in the negative direction of the y-axis. Furthermore, at the point B, the carpet 9e is finished and the flooring 9c is wiped and cleaned, so the friction coefficient becomes smaller than that during carpet cleaning, so the change in the friction coefficient is as shown by the solid line in FIG. 19B. It can be seen that the friction coefficient is considerably small when the solid line in FIG. 19B reaches the time corresponding to the point B near the right end. The average coefficient of friction when wiping in the positive direction of the y axis is indicated by the symbol “x” in FIG. 19B.

そこで、領域判定部90は、実際の拭き動作中の手先力ベクトルFとロボット本体部10の手先位置及び姿勢ベクトルrとから、掃除の往復運動のうち、往きの方向に掃除時の平均摩擦係数を逐次計算し、記憶する。さらに、往きの方向に拭き掃除を行う際に、今回の平均摩擦係数と前回の平均摩擦係数の差を領域判定部90で計算し、計算で得られた差が、事前に設定された閾値を越えた場合には、領域が変ったと領域判定部90で判定し、判定した領域判定情報を領域判定部90から動作軌道データベース14に出力する。計算で得られた差が、事前に設定された閾値以下の場合には、領域が変っていないと領域判定部90で判定し、判定した領域判定情報を領域判定部90から動作軌道データベース14に出力する。   Therefore, the area determination unit 90 calculates the average friction coefficient during cleaning in the forward direction of the reciprocating movement of the cleaning from the hand force vector F during the actual wiping operation and the hand position and posture vector r of the robot body 10. Are sequentially calculated and stored. Further, when wiping and cleaning in the forward direction, the difference between the current average friction coefficient and the previous average friction coefficient is calculated by the area determination unit 90, and the difference obtained by the calculation exceeds a preset threshold value. If it is determined that the region has changed, the region determination unit 90 determines that the region has changed, and outputs the determined region determination information from the region determination unit 90 to the motion trajectory database 14. When the difference obtained by the calculation is equal to or smaller than a preset threshold value, the region determination unit 90 determines that the region has not changed, and the determined region determination information is transferred from the region determination unit 90 to the motion trajectory database 14. Output.

以上のロボット本体部10の掃除動作を図21のフローチャートに基づいて説明する。
まず、ロボット本体部10が起動すると、始めに、動作軌道データベース14から探索動作(一例としては、図17の矢印のような移動動作)の軌道が動作制御部13に出力される(ステップS41)。
The above-described cleaning operation of the robot body 10 will be described based on the flowchart of FIG.
First, when the robot body 10 is activated, first, a trajectory of a search operation (for example, a movement operation as indicated by an arrow in FIG. 17) is output from the motion trajectory database 14 to the motion control unit 13 (step S41). .

次いで、ロボット本体部10は、探索動作の軌道に基づき、ロボット本体部2は静止したままで、ロボットアーム5を駆動して掃除部材8を移動させて探索動作を行う(ステップS42)。探索動作時は掃除時と違い、掃除面の方向特性に沿わない方向にも動作するため、掃除時に比べ、掃除面への押付力を小さく設定しておくと、掃除面への影響が小さく出来て、望ましい。探索動作中のロボットアーム5の手先位置及び姿勢ベクトルrと、手先力ベクトルFとは、動作制御部13の順運動学計算部53と、力検出部7とにより、それぞれ得られる。   Next, based on the trajectory of the search operation, the robot main body unit 10 performs the search operation by driving the robot arm 5 and moving the cleaning member 8 while the robot main body unit 2 remains stationary (step S42). Unlike the cleaning operation, the search operation works in directions that do not follow the direction characteristics of the cleaning surface.Therefore, if the pressing force on the cleaning surface is set smaller than when cleaning, the effect on the cleaning surface can be reduced. It is desirable. The hand position and orientation vector r of the robot arm 5 during the search operation and the hand force vector F are respectively obtained by the forward kinematics calculation unit 53 and the force detection unit 7 of the motion control unit 13.

次いで、掃除面種選択部18は、ロボット本体部10の探索動作中のロボットアーム5の手先位置及び姿勢ベクトルrと手先力ベクトルFとに基づき、図13の掃除面種選択動作ステップを行なうことにより、掃除面種の選択を行い、動作軌道データベース14及び掃除方向決定部91に選択結果を出力する(ステップS43)。   Next, the cleaning surface type selection unit 18 performs the cleaning surface type selection operation step of FIG. 13 based on the hand position and posture vector r and the hand force vector F of the robot arm 5 during the search operation of the robot body unit 10. Thus, the cleaning surface type is selected, and the selection result is output to the motion trajectory database 14 and the cleaning direction determination unit 91 (step S43).

次いで、掃除方向決定部91は、ロボット本体部10の探索動作中の手先位置及び姿勢ベクトルrと手先力ベクトルFと掃除面種選択部18の出力である掃除面種とに基づき、図25の掃除方向決定動作ステップを行うことにより、掃除面に適した掃除方向の判定を行い、動作軌道データベース14に判定結果を出力する(ステップS44)。   Next, the cleaning direction determination unit 91 is based on the hand position / posture vector r, the hand force vector F, and the cleaning surface type that is the output of the cleaning surface type selection unit 18 during the search operation of the robot body 10 in FIG. By performing the cleaning direction determination operation step, the cleaning direction suitable for the cleaning surface is determined, and the determination result is output to the motion trajectory database 14 (step S44).

次いで、動作軌道データベース14は、掃除面種判定結果及び掃除面に適した掃除方向の判定結果に基づき、ロボット本体部10の掃除動作の軌道を動作制御部13の目標軌道生成部45に出力する(ステップS45)。   Next, the motion trajectory database 14 outputs the cleaning motion trajectory of the robot body 10 to the target trajectory generation unit 45 of the motion control unit 13 based on the cleaning surface type determination result and the cleaning direction determination result suitable for the cleaning surface. (Step S45).

次いで、ロボット本体部10は、掃除動作の軌道に沿って掃除部材8を、必要に応じてロボット本体部2と共に移動して掃除動作を行う(ステップS46)。   Next, the robot body 10 performs the cleaning operation by moving the cleaning member 8 together with the robot body 2 as necessary along the path of the cleaning operation (step S46).

次いで、領域判定部90は、ロボット本体部10の探索動作中の手先位置及び姿勢ベクトルrと手先力ベクトルFとに基づき、領域の切り替り判定を行う(ステップS47)。   Next, the region determination unit 90 performs region switching determination based on the hand position / posture vector r and the hand force vector F during the search operation of the robot body 10 (step S47).

以下は、ステップS47にて、領域の切り替りは発生していないと領域判定部90で判断された場合について説明する。   Hereinafter, a case will be described in which the region determination unit 90 determines that the region has not been switched in step S47.

切り替りが発生していないと領域判定部90で判定した場合は、ステップS45〜S47が繰り返されることによって、ロボット本体部10は、掃除面種の方向特性に応じた掃除方向に掃除を継続することが出来る。   When the area determination unit 90 determines that the switching has not occurred, the robot main body unit 10 continues cleaning in the cleaning direction according to the direction characteristics of the cleaning surface type by repeating steps S45 to S47. I can do it.

以下は、ステップS47にて、切り替りが発生したと領域判定部90で判断された場合について説明する。   The following describes the case where the region determination unit 90 determines that a switch has occurred in step S47.

次いで、領域判定部90がステップS47において領域の切替りが発生したと領域判定部90で判断した場合は、領域判定部90から動作軌道生成部95に領域の切り替りが発生したことを領域判定部90から出力する(ステップS48)。   Next, when the region determining unit 90 determines that the region switching has occurred in step S47, the region determining unit 90 determines that the region switching has occurred from the region determining unit 90 to the motion trajectory generating unit 95. The data is output from the unit 90 (step S48).

次いで、動作軌道生成部95は掃除動作を停止させる軌道を生成する。さらに記憶している直前の軌道を参照し、今までの軌道を逆戻りし切り替わる前の領域に移動する動作の軌道を生成する。動作軌道生成部95は以上の軌道を動作制御部13に出力する(ステップS49)。   Next, the operation trajectory generation unit 95 generates a trajectory for stopping the cleaning operation. Further, referring to the immediately preceding trajectory stored, the trajectory of the movement to move back to the previous trajectory is generated. The motion trajectory generation unit 95 outputs the above trajectory to the motion control unit 13 (step S49).

次いで、ロボット本体部10は、動作制御部13に出力された切り替わる前の領域に移動する動作のための軌道に基づき、移動動作を行い、切り替わる前の領域に移動する(ステップS50)。   Next, the robot body 10 performs a moving operation based on the trajectory for the movement to the area before switching output to the movement control unit 13, and moves to the area before switching (step S50).

以上のステップS45〜S50が繰り返されることにより、ロボット本体部10は掃除面種の方向特性に応じた掃除方向に掃除を継続することが出来る。   By repeating the above steps S45 to S50, the robot body 10 can continue cleaning in the cleaning direction corresponding to the direction characteristics of the cleaning surface type.

図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 member 8 at the end of the robot arm 5 of the robot body 10 when the robot body 10 moves on the tatami floor based on the flowchart of FIG. The self-propelled cleaning robot 1 is activated at point A in FIG. 22 (the point where the cleaning member 8 is located near the center of the right edge of the right tatami 9a), and the motion trajectory generating unit 95 outputs a search trajectory, The self-propelled cleaning robot 1 performs a search operation. At the same time, the motion trajectory generator 95 stores the output trajectory. (Steps S41 to S42). The cleaning surface type selection unit 18 selects that it is a tatami mat, and the cleaning direction determination unit 91 outputs the texture direction of the tatami mat to the motion trajectory generation unit 95, so that the motion trajectory generation unit 95 ) Outputs the cleaning trajectory along the texture. Thereby, the self-propelled cleaning robot 1 moves while performing cleaning along the texture of the tatami mat (right tatami mat) (steps S43 to S46). In the example of FIG. 22, it gradually proceeds to the left while reciprocating in the direction (vertical direction of FIG. 22) along the texture of the tatami (right tatami). In addition, during this cleaning operation, the region determination unit 90 performs region switching determination. When the self-propelled cleaning robot 1 moves to a place where the tatami is switched while cleaning (point B in FIG. 22 where the tatami is switched from the right tatami to the left tatami), the area determination unit 90 determines that the area is switched (step) S47 to S48). Next, the motion trajectory generation unit 95 generates a trajectory for stopping cleaning. The motion trajectory generation unit 95 further generates a trajectory that returns to the original area based on the immediately previous trajectory that has been stored. The motion trajectory generation unit 95 outputs the created trajectory to the motion control unit 13. Based on the trajectory, the self-propelled cleaning robot 1 moves from point B to point C (steps S49 to S50). Then, again, the motion trajectory database 14 outputs a cleaning trajectory along the texture of the tatami (right tatami), and the self-propelled cleaning robot 1 moves rightward from the C point of the left tatami and moves to the right. Clean the tatami mat.

以上の清掃動作を行うロボット1の起動から停止を図28のフローチャートに基づいて説明する。   The starting and stopping of the robot 1 that performs the above-described cleaning operation will be described with reference to the flowchart of FIG.

まず、ロボット1が起動し、前述された清掃動作を行う(ステップS90)。
次いで、電源の切断を行う(ステップS91)。電源が切れるのは、例えば、タイマーで予め決められた時間が来たら切れてもよく、又は、一般的に人が電源ボタンを操作して電源が切れるのでもよい。
First, the robot 1 is activated and performs the cleaning operation described above (step S90).
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 robot 1 can automatically perform a cleaning operation from the start and stop.

以上のように、本発明の前記第1実施形態にかかる掃除ロボット1によれば、掃除をする際に、掃除面と掃除部材8との間に発生する力を検出することにより、掃除を行う面の材質に応じて掃除の方向を変更することで、人間が行ってきた適切な掃除方向での掃除を実現できる自走式掃除ロボット、自走式掃除ロボットの制御装置及び方法、並びに、自走式掃除ロボットの制御プログラムを提供することができる。   As described above, according to the cleaning robot 1 according to the first embodiment of the present invention, cleaning is performed by detecting the force generated between the cleaning surface and the cleaning member 8 when cleaning is performed. The self-propelled cleaning robot, the control device and method of the self-propelled cleaning robot, and the self-propelled cleaning robot can be realized by changing the cleaning direction according to the material of the surface. A control program for a traveling cleaning robot can be provided.

また、本第1実施形態では掃除面切替部19によって選択される掃除面種を絨毯とフローリングと畳との3種類からの選択としたが、必ずしも3種類から掃除面種を選択する必要はなく、このうちの少なくとも2種類から掃除面種を選択するようにしてもよい。   In the first embodiment, the cleaning surface type selected by the cleaning surface switching unit 19 is selected from the three types of carpet, flooring, and tatami. However, it is not always necessary to select the cleaning surface type from the three types. The cleaning surface type may be selected from at least two of them.

(第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 type selection unit 18 when selecting from two types will be described based on the flowchart of FIG. 26 as an example.

始めに、前述されたロボット本体部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 force detection unit 7 and the forward kinematics calculation unit 53 input during the above-described search operation of the robot body unit 10 (movement operation for obtaining cleaning surface type information). On the basis of the hand position and posture vector r of the robot arm 5 of the robot main body 10, the hand force F nt for each direction of the tracing operation is calculated by the cleaning surface type selection unit 18 and stored in the cleaning surface type database 15 ( Further, the force in the direction of the tracing operation is divided by the vertical drag of the tracing surface, and the friction coefficient μ nt for each tracing operation direction is calculated by the cleaning surface type selection unit 18 and stored in the cleaning surface type database 15. (Refer FIG. 15) (step S71).

次いで、各方向別に摩擦係数の平均値(平均摩擦係数)μ〜μを掃除面種選択部18で計算して掃除面種データベース15に記憶する(ステップS72)。これを、図15に、方向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 type selection unit 18 and stored in the cleaning surface type database 15 (step S72). This, in Figure 15, presented as mean friction coefficients up direction 1 Direction N μ 1 ~μ N. At this time, immediately after the start of the tracing operation and immediately before the stop, since the friction coefficient is not stabilized by switching between the static friction and the dynamic friction, the data immediately after the start of the tracing operation and immediately before the stop is not used.

次いで、掃除面種選択部18で計算して掃除面種データベース15に記憶された各方向別に摩擦係数の平均値(平均摩擦係数)μ〜μのうちから、平均摩擦係数が最大値の場合の方向を掃除面種選択部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 type selection unit 18 and stored in the cleaning surface type database 15. The cleaning surface type selection unit 18 extracts the direction of the case, and the cleaning surface type selection unit 18 determines the difference between the maximum value and the minimum value among the friction coefficients during the tracing operation in the direction of the extracted maximum value. Obtained (step S73).

次いで、ステップS73で計算した差が、掃除面種データベース15に記憶された、溝のあるフローリングでの平均摩擦係数が最大値の場合となる方向におけるなぞり動作中の摩擦係数の最大値と最小値の差μfp以上であるかどうかを掃除面種選択部18で判定する(ステップS74)。 Next, the difference calculated in step S73 is stored in the cleaning surface type database 15, and the maximum value and the minimum value of the friction coefficient during the tracing operation in the direction in which the average friction coefficient in the grooved flooring is the maximum value. The cleaning surface type selection unit 18 determines whether or not the difference is not less than μ fp (step S74).

以下は、ステップS74で、ステップS73で計算した差が、フローリングの前記差μfp以上であると掃除面種選択部18で判定した場合は、ステップS75に進む。以下、ステップS75以降の動作について説明する。 Hereinafter, in step S74, if the cleaning surface type selection unit 18 determines that the difference calculated in step S73 is equal to or greater than the difference μ fp in flooring, the process proceeds to step S75. Hereinafter, the operation after step S75 will be described.

ステップS75では、掃除面種データベース15に記憶された情報を基に、最大平均摩擦係数と、その最大平均摩擦係数の方向と平行かつその方向と逆向きでのなぞり動作中の平均摩擦係数との差を掃除面種選択部18で計算する。   In step S75, based on the information stored in the cleaning surface type database 15, the maximum average friction coefficient and the average friction coefficient during the tracing operation in the direction parallel to and opposite to the direction of the maximum average friction coefficient are calculated. The difference is calculated by the cleaning surface type selection unit 18.

次いで、ステップS75で計算した差が、掃除面種データベース15に記憶された、溝のあるフローリングでの平均摩擦係数の最大値とその平均摩擦係数が最大値の場合の向きと逆向きの平均摩擦係数との差μfa以下であるかどうかを、掃除面種選択部18で判定する(ステップS76)。 Next, the difference calculated in step S75 is stored in the cleaning surface type database 15, and the maximum value of the average friction coefficient in the flooring with grooves and the average friction in the direction opposite to the direction when the average friction coefficient is the maximum value. The cleaning surface type selection unit 18 determines whether or not the difference from the coefficient is less than or equal to fa (step S76).

以下は、ステップ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 type selection section 18 and the difference is less than mu fa, the process proceeds to step S77.

ステップS77では、掃除面種を、「溝ありのフローリング」であると掃除面種選択部18で決定し、面種が「フローリング」であるとの情報を、掃除面種選択部18から動作軌道データベース14と掃除方向決定部91とに出力、一連の掃除面種選択動作ステップを終了する。前述の通り、フローリングの溝と直交する方向になぞり動作を行った場合に、平均摩擦係数が最も大きくなるため、フローリングの溝の方向は、最大平均摩擦係数の向きと直交する向きである。   In step S77, the cleaning surface type is determined by the cleaning surface type selection unit 18 to be “flooring with grooves”, and information indicating that the surface type is “flooring” is obtained from the cleaning surface type selection unit 18 as an operation trajectory. It outputs to the database 14 and the cleaning direction determination part 91, and a series of cleaning surface kind selection operation steps are complete | finished. As described above, when the tracing operation is performed in the direction orthogonal to the groove of the flooring, the average friction coefficient becomes the largest, so the direction of the groove of the flooring is the direction orthogonal to the direction of the maximum average friction coefficient.

一方、ステップ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 type selection unit 18, the process proceeds to step S78.

ステップ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 surface type database 15, and therefore the cleaning surface type is unknown. The information indicating that the surface type is unknown is output from the cleaning surface type selecting unit 18 to the motion trajectory database 14 and the cleaning direction determining unit 91, and the series of cleaning surface type selecting operation steps is completed.

以下は、ステップS74で、ステップS73で計算した差が、フローリングの前記差μfpより小さいと掃除面種選択部18で判定した場合は、ステップS79に進む。以下、ステップS79以降の動作について説明する。 Hereinafter, in step S74, if the cleaning surface type selection unit 18 determines that the difference calculated in step S73 is smaller than the difference μ fp of flooring, the process proceeds to step S79. Hereinafter, operations after step S79 will be described.

ステップS79では、掃除面種データベース15に記憶された情報を基に、最大平均摩擦係数と、その最大平均摩擦係数の方向と平行かつその方向と逆向きでの平均摩擦係数との差を掃除面種選択部18で計算する。   In step S79, based on the information stored in the cleaning surface type database 15, the difference between the maximum average friction coefficient and the average friction coefficient in the direction parallel to and opposite to the direction of the maximum average friction coefficient is determined. The seed selection unit 18 calculates.

次いで、ステップS79で計算した差が、掃除面種データベース15に記憶された、絨毯での平均摩擦係数の最大値とその平均摩擦係数が最大値の場合の向きと逆向きの平均摩擦係数との差μja以上であるかどうかを掃除面種選択部18で判定する(ステップS80)。 Next, the difference calculated in step S79 is stored in the cleaning surface type database 15 between the maximum value of the average friction coefficient in the carpet and the average friction coefficient in the direction opposite to the direction when the average friction coefficient is the maximum value. Whether or not the difference is greater than or equal to ja is determined by the cleaning surface type selection unit 18 (step S80).

以下は、ステップS80で、ステップS79で計算した差が、前記差μja以上であると掃除面種選択部18で判定した場合には、ステップS81に進む。 Hereinafter, in step S80, when the cleaning surface type selection unit 18 determines that the difference calculated in step S79 is equal to or larger than the difference μja, the process proceeds to step S81.

ステップS11では、掃除面種を絨毯であると掃除面種選択部18で決定し、面種が絨毯であるとの情報を、掃除面種選択部18から動作軌道データベース14と掃除方向決定部91とに出力して、一連の掃除面種選択動作ステップを終了する(ステップS81)。毛並みの方向は、最大平均摩擦係数の向きである。   In step S11, the cleaning surface type selection unit 18 determines that the cleaning surface type is a carpet, and information indicating that the surface type is a carpet is sent from the cleaning surface type selection unit 18 to the motion trajectory database 14 and the cleaning direction determination unit 91. And a series of cleaning surface type selection operation steps are completed (step S81). The direction of fur is the direction of the maximum average friction coefficient.

一方、ステップ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 type selection section 18 proceeds to step 82.

ステップ82では、掃除面種を不明であると掃除面種選択部18で決定し、面種が不明であるとの情報を、掃除面種選択部18から動作軌道データベース14と掃除方向決定部91とに出力して、一連の掃除面種選択動作ステップを終了する。   In step 82, the cleaning surface type selection unit 18 determines that the cleaning surface type is unknown, and information indicating that the surface type is unknown is sent from the cleaning surface type selection unit 18 to the motion trajectory database 14 and the cleaning direction determination unit 91. And a series of cleaning surface type selection operation steps are completed.

以上のように、掃除面種の選択は、少なくとも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 surface switching unit 19 includes the cleaning surface type selection unit 18 and the cleaning surface type database 15 and estimates the cleaning surface type. However, the present invention is not limited to this. As shown in FIG. 27, the robot body 10 has a cleaning surface type selection switch 19S, and a person determines a cleaning surface by the cleaning surface type selection switch 19S and inputs information on the cleaning surface type to the cleaning surface switching unit 19. It may be configured. In this way, the cleaning surface switching unit 19 outputs the cleaning surface type information input from the cleaning surface type selection switch 19S to the operation trajectory database 14 and the cleaning direction determination unit 91, thereby performing a series of cleaning operations. The face type selection operation step can be omitted.

また、前記第1及び第2実施形態では、領域の切り替わりであると領域判定部90で判定した後(ステップS48)、掃除を中止して移動する(ステップS49)としたが、領域の切り替わりと判定した後、再び、探索動作を行うことで、新しい掃除方向を探索するとしてもよい。このようにすれば、次々と領域が切替るような掃除面の掃除において、領域が切替っても適宜適切な掃除方向を選択でき、適切な掃除方向の掃除が可能となる。   In the first and second embodiments, after the region determination unit 90 determines that the region is switched (step S48), the cleaning is stopped and moved (step S49). After the determination, the search operation may be performed again to search for a new cleaning direction. If it does in this way, in cleaning of the cleaning surface where an area changes one after another, even if an area changes, an appropriate cleaning direction can be chosen suitably, and cleaning of an appropriate cleaning direction becomes possible.

また、前記第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 robot arm 5, and for example, as shown in FIG. 23, the suction pump disposed in the robot body 2. By driving the driving circuit 60 and the rotating brush driving device 63 respectively, the suction pump driving circuit 60 drives the suction pump while the rotating brush 64 attached to the suction nozzle 62 rotates by the driving of the rotating brush driving device 63. A suction-type cleaning robot that performs suction by the suction nozzle 66 and collects the dust sucked from the suction nozzle 62 through a suction hose 65 built in the robot arm 5 and collected in a dust bag 61 disposed in the robot body 2. It is good. The rotating brush driving device 63 preferably has a function of pressing the rotating brush 64 toward the cleaning surface of the floor surface 9.

また、前記第1又は第2実施形態の掃除ロボット1は、図24A及び図24Bに示すようにロボットアーム5を備えず、胴体部2の下部より吸引する掃除ロボットとしてもよい。   Moreover, the cleaning robot 1 of the first or second embodiment may be a cleaning robot that does not include the robot arm 5 as shown in FIGS.

なお、上記様々な実施形態及び変形例のうちの任意の実施形態又は任意の変形例を適宜組み合わせることにより、それぞれの有する効果を奏するようにすることができる。   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実施形態における自走式掃除ロボットの構成の概要を示す図The figure which shows the outline | summary of a structure of the self-propelled cleaning robot in 1st Embodiment of this invention. 本発明の前記第1実施形態における前記自走式掃除ロボットを構成するロボット制御装置と制御対象である掃除ロボット本体の詳細構成を示す図The figure which shows the detailed structure of the robot control apparatus which comprises the said self-propelled cleaning robot in the said 1st Embodiment of this invention, and the cleaning robot main body which is a control object. 本発明の前記第1実施形態における前記自走式掃除ロボットのロボットアームの手先の詳細構成を示す図The figure which shows the detailed structure of the hand of the robot arm of the said self-propelled cleaning robot in the said 1st Embodiment of this invention. 本発明の前記第1実施形態における前記ロボット制御装置により制御される前記ロボットアームの手先におけるロール角について説明するための説明図Explanatory drawing for demonstrating the roll angle in the hand of the said robot arm controlled by the said robot control apparatus in the said 1st Embodiment of this invention 本発明の前記第1実施形態における前記ロボット制御装置により制御される前記ロボットアームの手先におけるピッチ角について説明するための説明図Explanatory drawing for demonstrating the pitch angle in the hand of the said robot arm controlled by the said robot control apparatus in the said 1st Embodiment of this invention 本発明の前記第1実施形態における前記ロボット制御装置により制御される前記ロボットアームの手先におけるヨー角について説明するための説明図Explanatory drawing for demonstrating the yaw angle in the hand of the said robot arm controlled by the said robot control apparatus in the said 1st Embodiment of this invention 本発明の前記第1実施形態における前記ロボット制御装置の制御ブロック図Control block diagram of the robot control device in the first embodiment of the present invention 本発明の前記第1実施形態における前記ロボット制御装置により制御される前記ロボット本体部の掃除部材により掃除を行う掃除面が畳の場合、畳の表面の織目を説明する図The figure explaining the texture of the surface of a tatami when the cleaning surface which cleans with the cleaning member of the said robot main-body part controlled by the said robot control apparatus in the said 1st Embodiment of this invention is a tatami. 本発明の前記第1実施形態における前記ロボット本体部の掃除部材により図6の矢印方向のなぞり動作を行った場合の、畳表面の平均摩擦係数となぞり動作の方向との関係を示すグラフ6 is a graph showing the relationship between the average friction coefficient of the tatami surface and the direction of the tracing operation when the tracing operation in the direction of the arrow in FIG. 6 is performed by the cleaning member of the robot body in the first embodiment of the present invention. 本発明の前記第1実施形態における前記ロボット本体部の掃除部材により図6の矢印方向のなぞり動作を行った場合の、畳表面の摩擦係数と時間との関係を示すグラフThe graph which shows the relationship between the friction coefficient of a tatami surface, and time at the time of performing the tracing operation | movement of the arrow direction of FIG. 6 with the cleaning member of the said robot main-body part in the said 1st Embodiment of this invention. 本発明の前記第1実施形態における前記ロボット制御装置により制御される前記ロボット本体部の掃除部材により掃除を行う掃除面がフローリングの場合、フローリングの表面の溝を説明する図The figure explaining the groove | channel of the surface of a flooring, when the cleaning surface cleaned by the cleaning member of the said robot main-body part controlled by the said robot control apparatus in the said 1st Embodiment of this invention is a flooring. 本発明の前記第1実施形態における前記ロボット制御装置により制御される前記ロボット本体部の掃除部材による、フローリング表面の平均摩擦係数となぞり動作の方向との関係を示すグラフThe graph which shows the relationship between the average friction coefficient of the flooring surface by the cleaning member of the said robot main-body part controlled by the said robot control apparatus in the said 1st Embodiment of this invention, and the direction of a sliding operation | movement. 本発明の前記第1実施形態における前記ロボット本体部の掃除部材により図8の矢印E及び矢印E’の方向のなぞり動作を行った場合の、フローリング表面の摩擦係数と時間との関係を示すグラフThe graph which shows the relationship between the friction coefficient of a flooring surface, and time when the tracing operation of the direction of the arrow E and arrow E 'of FIG. 8 is performed with the cleaning member of the said robot main-body part in the said 1st Embodiment of this invention. 本発明の前記第1実施形態における前記ロボット本体部の掃除部材により図8の矢印F及び矢印F’の方向のなぞり動作を行った場合の、フローリング表面の摩擦係数となぞり動作の方向との関係を示すグラフRelationship between the friction coefficient of the flooring surface and the direction of the sliding operation when the cleaning operation of the robot body in the first embodiment of the present invention performs the tracing operation in the directions of arrows F and F ′ in FIG. Graph showing 本発明の前記第1実施形態における前記ロボット本体部の掃除部材により図8の矢印Gの方向のなぞり動作を行った場合の、フローリング表面の摩擦係数となぞり動作の方向との関係を示すグラフThe graph which shows the relationship between the friction coefficient of a flooring surface, and the direction of a sliding operation at the time of performing the tracing operation of the direction of arrow G of FIG. 8 with the cleaning member of the said robot main-body part in the said 1st Embodiment of this invention. 本発明の前記第1実施形態における前記ロボット本体部の掃除部材により矢印の方向のなぞり動作を行った場合の、絨毯の毛並みを説明する図The figure explaining the fur of the carpet when the tracing operation | movement of the direction of the arrow is performed with the cleaning member of the said robot main-body part in the said 1st Embodiment of this invention. 図10Aの矢印X方向から見た絨毯の断面図Sectional view of the carpet seen from the arrow X direction of FIG. 10A 本発明の前記第1実施形態における絨毯表面の平均摩擦係数となぞり動作の方向との関係を説明するグラフThe graph explaining the relationship between the average friction coefficient of the carpet surface in the said 1st Embodiment of this invention, and the direction of a sliding operation | movement. 本発明の前記第1実施形態における絨毯表面の摩擦係数と時間との関係を説明するグラフThe graph explaining the relationship between the friction coefficient of the carpet surface in the said 1st Embodiment of this invention, and time. 本発明の前記第1実施形態における掃除面種データベースを示す図The figure which shows the cleaning surface kind database in the said 1st Embodiment of this invention. 本発明の前記第1実施形態における掃除面種選択部の動作ステップを表すフローチャートThe flowchart showing the operation | movement step of the cleaning surface kind selection part in the said 1st Embodiment of this invention. 本発明の前記第1実施形態における前記自走式掃除ロボットで使用する掃除面種データベースにおけるなぞり動作の方向別の手先力Fnt情報を説明する図The figure explaining hand force Fnt information according to the direction of the tracing operation in the cleaning surface type database used in the self-propelled cleaning robot in the first embodiment of the present invention. 本発明の前記第1実施形態における前記自走式掃除ロボットで使用する掃除面種データベースにおけるなぞり動作の方向別の摩擦係数μnt情報を説明する図The figure explaining the friction coefficient μnt information according to the direction of the tracing operation in the cleaning surface type database used in the self-propelled cleaning robot in the first embodiment of the present invention. 本発明の前記第1実施形態における前記自走式掃除ロボットで使用する動作軌道データベースを示す図The figure which shows the motion trajectory database used with the said self-propelled cleaning robot in the said 1st Embodiment of this invention. 本発明の前記第1実施形態における探索動作の動作軌道を示す図The figure which shows the operation | movement trajectory of search operation in the said 1st Embodiment of this invention. 本発明の前記第1実施形態における畳掃除時の摩擦係数を説明するときに使用する、6畳間の畳の敷き方の一例及び前記自走式掃除ロボットによる掃除の軌道を示す図The figure which shows the track | orbit of cleaning by the example of the tatami mat between 6 tatami mats, and the said self-propelled cleaning robot used when explaining the friction coefficient at the time of tatami cleaning in the said 1st Embodiment of this invention 図18Aにおいて、本発明の前記第1実施形態における畳掃除時の摩擦係数と時間との関係を示すグラフFIG. 18A is a graph showing the relationship between the coefficient of friction and time during tatami mat cleaning in the first embodiment of the present invention. 本発明の前記第1実施形態における絨毯及びフローリング掃除時の摩擦係数説明するときに使用する、1つの部屋のフローリングの床の一部に絨毯がひかれた状態での前記自走式掃除ロボットによる掃除の軌道を示す図Cleaning by the self-propelled cleaning robot in a state where the carpet is ground on a part of the floor of the flooring of one room used for explaining the friction coefficient when cleaning the carpet and flooring in the first embodiment of the present invention. Figure showing the trajectory of 図19Aにおいて、本発明の前記第1実施形態における絨毯及びフローリング掃除時の摩擦係数と時間との関係を示すグラフIn FIG. 19A, the graph which shows the relationship between the coefficient of friction at the time of the carpet and flooring cleaning in the said 1st Embodiment of this invention, and time. 本発明の前記第1実施形態における前記ロボット制御装置の動作制御部のロボット動作制御を行なうための動作ステップを表すフローチャートThe flowchart showing the operation | movement step for performing the robot operation control of the operation control part of the said robot control apparatus in the said 1st Embodiment of this invention. 本発明の実施の形態における制御装置の制御部の動作ステップを表すフローチャートThe flowchart showing the operation | movement step of the control part of the control apparatus in embodiment of this invention. 本発明の前記第1実施形態における前記ロボット制御装置によるロボットの動作軌道を示す図The figure which shows the motion trajectory of the robot by the said robot control apparatus in the said 1st Embodiment of this invention. 本発明の前記第1及び第2実施形態における前記掃除ロボットの構成の概要を示す図The figure which shows the outline | summary of a structure of the said cleaning robot in the said 1st and 2nd embodiment of this invention. 本発明の前記第1又は第2実施形態の変形例における前記掃除ロボット装置の構成の概要を示す図The figure which shows the outline | summary of a structure of the said cleaning robot apparatus in the modification of the said 1st or 2nd embodiment of this invention. 本発明の前記第1又は第2実施形態の前記変形例における前記掃除ロボット装置の構成の概要を示す図The figure which shows the outline | summary of a structure of the said cleaning robot apparatus in the said modification of the said 1st or 2nd embodiment of this invention. 本発明の前記第1実施形態における掃除方向決定部の動作ステップを表すフローチャートThe flowchart showing the operation | movement step of the cleaning direction determination part in the said 1st Embodiment of this invention. 本発明の前記第2実施形態における掃除面種選択部の動作ステップを表すフローチャートThe flowchart showing the operation | movement step of the cleaning surface kind selection part in the said 2nd Embodiment of this invention. 本発明の前記第1又は第2実施形態の別の変形例におけるロボット制御装置の制御ブロック図The control block diagram of the robot control apparatus in another modification of the said 1st or 2nd embodiment of this invention. 本発明の前記第1又は第2実施形態の別の変形例におけるロボットの起動から停止までの動作ステップを表すフローチャートThe flowchart showing the operation | movement step from starting of a robot to a stop in another modification of the said 1st or 2nd embodiment of this invention.

符号の説明Explanation of symbols

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 SYMBOLS 1 Cleaning robot 2 Body part 3 Wheel 3a Right wheel 3b Left wheel 4 Auxiliary wheel 5 Robot arm 7 Force detection part 8 Cleaning member 8a Cleaning member attachment part 9 Floor surface 10 Robot main body part 11 Controller 12 Control program 13 Operation control part 14 Motion trajectory database 15 Cleaning surface type database 16 Input / output IF
DESCRIPTION OF SYMBOLS 17 Motor driver 18 Cleaning surface type selection part 19 Cleaning surface type switching part 19S Cleaning surface type selection switch 20 Motor 21 Encoder 24 1st joint part 25 2nd joint part 26 3rd joint part 27 4th joint part 28 5th joint part 29 sixth joint part 30 hand attachment member 31 wrist part 32 forearm link 33 upper arm link 34 base part 34a upper movable part 34b lower fixed part 35 absolute coordinate system 36 hand coordinate system 40 motor 41 encoder 45 target trajectory generation part 46 force error Calculation unit 47 Position error calculation unit 48 Position and force control direction selection unit 49 Force error compensation unit 50 Joint torque conversion unit 51 Position error compensation unit 52 Dynamics compensation unit 53 Forward kinematics calculation unit 54 Approximate inverse kinematics calculation unit 55 Joint Torque command calculator 60 Suction pump drive circuit 61 Dust bag 62 Suction nozzle 63 Rotary brush drive device 64 the rotary brush 65 suction hose 66 the suction pump 70 mobile 71 moving means 90 area determination unit 91 cleaning direction decision unit 92 cleaning surface type selection switch 94 trajectory generating unit 95 operating locus generation section

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に記載の自走式掃除ロボット。   The said cleaning direction determination means determines the said cleaning direction of the said cleaning surface based on a component perpendicular | vertical and a component perpendicular | vertical with respect to the said cleaning surface among the forces detected by the said force detection part. Self-propelled cleaning robot. 前記掃除面の掃除表面状態情報を有する掃除面種データベースと、
前記力検出部で検出した力に基づき、前記掃除面種データベースを参照して前記掃除面の種類を選択する掃除面種選択手段をさらに備える請求項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.
前記掃除面種データベースは、前記掃除表面状態情報として、フローリングの掃除表面状態情報と、畳の掃除表面状態情報と、絨毯の掃除表面状態情報とを有する請求項3に記載の自走式掃除ロボット。   The self-propelled cleaning robot according to claim 3, wherein 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. . 前記掃除面種データベースは、前記掃除表面状態情報として、フローリングの掃除表面状態情報と、畳の掃除表面状態情報と、絨毯の掃除表面状態情報を有するとともに、前記掃除面種選択手段は、前記掃除面種データベースの3種類の掃除表面状態情報のうち少なくとも2種類の内から前記掃除面の種類を選択する請求項3に記載の自走式掃除ロボット。   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, and the cleaning surface type selection means includes the cleaning surface state information. The self-propelled cleaning robot according to claim 3, wherein the type of the cleaning surface is selected from at least two types of the three types of cleaning surface state information in the surface type database. 前記掃除面種選択手段は、前記掃除面の摩擦係数の大きさに基づいて、前記掃除面種データベースの前記フローリングの掃除表面状態情報と前記畳の掃除表面状態情報と前記絨毯の掃除表面状態情報とのいずれか1つを選択する請求項4又は5に記載の自走式掃除ロボット。   The cleaning surface type selection means, based on the size of the friction coefficient of the cleaning surface, the cleaning surface state information of the flooring, the cleaning surface state information of the tatami mat and the cleaning surface state information of the carpet of the cleaning surface type database The self-propelled cleaning robot according to claim 4 or 5, wherein any one of the above is selected. 前記軌道生成手段は、前記力検出部で検出した力に基づき、掃除する領域を変更する軌道を生成する請求項1〜6のいずれか1つに記載の自走式掃除ロボット。   The self-propelled cleaning robot according to any one of claims 1 to 6, wherein the trajectory generation unit generates a trajectory for changing a region to be cleaned 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.
JP2008205588A 2008-08-08 2008-08-08 Self-propelled cleaning robot and device, method and program for controlling it Pending JP2010035981A (en)

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)

* Cited by examiner, † Cited by third party
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

Cited By (12)

* Cited by examiner, † Cited by third party
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