JP4584354B2 - ロボットアームの制御装置及び制御方法、ロボット、ロボットアームの制御プログラム、並びに、集積電子回路 - Google Patents
ロボットアームの制御装置及び制御方法、ロボット、ロボットアームの制御プログラム、並びに、集積電子回路 Download PDFInfo
- Publication number
- JP4584354B2 JP4584354B2 JP2010509617A JP2010509617A JP4584354B2 JP 4584354 B2 JP4584354 B2 JP 4584354B2 JP 2010509617 A JP2010509617 A JP 2010509617A JP 2010509617 A JP2010509617 A JP 2010509617A JP 4584354 B2 JP4584354 B2 JP 4584354B2
- Authority
- JP
- Japan
- Prior art keywords
- robot arm
- correction
- information
- motion
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/08—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
- B25J13/085—Force or torque sensors
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/0003—Home robots, i.e. small robots for domestic use
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/42—Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
- G05B19/423—Teaching successive positions by walk-through, i.e. the tool head or end effector being grasped and guided directly, with or without servo-assistance, to follow a path
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/37—Measurements
- G05B2219/37357—Force, pressure, weight or deflection
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39325—External force control, additional loop comparing forces corrects position
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40411—Robot assists human in non-industrial environment like home or office
Description
本発明は、ロボットの動作を生成、教示するためのロボットアームの制御装置及び制御方法、ロボットアームの制御装置を有するロボット、ロボットアームの制御プログラム、並びに、集積電子回路に関する。
近年、介護ロボット又は家事支援ロボットなどの家庭用ロボットが盛んに開発されるようになってきた。家庭ロボットは産業用ロボットと異なり、家庭の素人が操作するため、簡単に動作を教示できる必要がある。さらに、ロボットが作業する際の動作環境も、家庭に応じて様々であるため、家庭環境に柔軟に対応する必要がある。
ロボット装置の教示方法の一例として、ロボットの手首などに力センサを装着し、力センサの先に装着されたハンドルを教示者が直接把持して、ロボットを教示点に誘導し、ロボットの位置の教示を行っている(特許文献1を参照)。
しかしながら、特許文献1においては、全ての教示点を教示者が教示する必要があるため、教示に時間がかかり、非常に面倒であった。さらに、産業用分野にて、教示した動きの一部を修正する場合に、ティーチングペンダントと呼ばれる遠隔装置により、プログラミングにより修正するか、若しくは、全ての動作を一から教示しなければならず、効率が悪かった。
また、家庭環境は時々刻々と変化しており、全ての環境変動を教示時に予測しておくことは難しく、また、多くのセンサーを搭載して検出できたとしても、検出精度が100%ではない場合は、誤作動を起こす場合がある。
特に、家庭用ロボットでは、できるだけ教示する時間を短くする必要がある。さらに、ティーチングペンダンドなどの遠隔装置でのプログラミングの併用は、操作ステップが増大し、プログラミング言語の習得が必要となり、家庭の素人には困難である。
また、産業ロボットでは、ロボットの動作を教示する教示作業とロボットが実際に作業する本作業とは明確に分けて行っているが、家庭用ロボットでは、家庭の素人が操作するために、教示作業と本作業を分けて操作するのは難しく、面倒であった(特許文献1参照)。
そこで、動作中のロボットに対して、人が状況の認識を行い、その都度それをロボットに伝達することで、教示を意識させずに、操作ができ、また、教示時に予期していない環境の変動が起こった場合にでも、その都度、人が教示することでロボットを動作させることが可能となる。
しかしながら、この方法では、ロボット動作中に人が操作して動作補正を行うため、従来の停止時の教示と比較して、人から入力された動作パラメータが変動して、動作補正がうまくできないという課題があった。例えば、動作中の速度が早い場合においては、人による動作補正において、特に、操作開始時及び操作終了時に、人の手先がぶれて、そのぶれも含めて補正してしまい、うまく動作補正をすることができない。さらに、動作中に人による補正が可能であることから、人が不用意に衝突した場合など誤って瞬時に大きな力が加わった区間についても、補正されてしまい、正しく補正できない。また、作業対象に加える力のみを補正したい場合において、同時に位置又は速度なども誤って補正してしまい、正しく動作補正ができない。また、ロボットアームの動作の加速又は減速方向に人の動作もつられてしまい、人が正しく補正することができない。さらに、繰り返し動作として補正する場合に、人の力のかけ具合により、繰り返し動作が変動してしまい、正しく補正することができない。また、人はロボットアームの可動範囲などの特性を詳しく理解せずに、操作するために、可動範囲付近では、人の希望する動作を補正することができない。また、高齢者又は障害者、子供などが操作をしている場合に、作業対象に加えたい力が足りない場合は正しく補正をすることができない。同様に、ロボットアームを高速に動作させたい場合に、その速度で人が操作することができない場合は、正しく補正することができない。
本発明の目的は、このような課題に鑑みてなされたものであり、予測できない環境の変動があっても、作業者が簡単に短時間でロボットの教示を行うことが可能なロボット制御を実現できる、ロボットアームの制御装置及び制御方法、ロボット、ロボットアームの制御プログラム、並びに、集積電子回路を提供することにある。
前記の目的を達成するために、本発明は以下のように構成する。
本発明の第1態様によれば、ロボットアームの動作を制御して前記ロボットアームによる作業を行うロボットアームの制御装置であって、
前記動作に対応する、前記ロボットアームの位置と姿勢と速度と力のうちの少なくとも1つ以上の時系列の動作情報を取得する動作情報取得部と、
前記動作情報を補正するために予め設定された、前記ロボットアームの前記動作の補正方法に関する動作補正情報を取得する動作補正情報取得部と、
前記ロボットアームを前記動作情報に基づいて動作するとともに、前記ロボットアームの動作中に、前記ロボットアームに前記人の力が加えられることにより、前記ロボットアームが前記人の操作により動作を補正できないよう制御する制御モードから前記ロボットアームの動作を前記人の操作により補正できる制御モードに切り替えた後に、前記ロボットアームに加えられた前記人の力と、動作中の前記ロボットアームの前記動作情報と、前記動作補正情報とから、前記人の操作によって前記ロボットアームの動作を変更するときの変更条件を設定する変更条件設定部と、
前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合に、前記動作情報取得部で取得した前記ロボットアームの位置と姿勢と速度と力のうちの少なくとも1つ以上の前記動作情報を、前記動作補正情報に従って、補正する動作補正部とを備えて、
前記動作補正情報は、前記人の前記ロボットアームへの前記人の操作に対する前記動作情報のうち、一部の区間を削除して補正するよう記述された補正方法に関する動作補正情報であり、
前記動作補正部により補正された前記動作情報に基づいて、前記ロボットアームの前記動作を制御するロボットアームの制御装置を提供する。
前記動作に対応する、前記ロボットアームの位置と姿勢と速度と力のうちの少なくとも1つ以上の時系列の動作情報を取得する動作情報取得部と、
前記動作情報を補正するために予め設定された、前記ロボットアームの前記動作の補正方法に関する動作補正情報を取得する動作補正情報取得部と、
前記ロボットアームを前記動作情報に基づいて動作するとともに、前記ロボットアームの動作中に、前記ロボットアームに前記人の力が加えられることにより、前記ロボットアームが前記人の操作により動作を補正できないよう制御する制御モードから前記ロボットアームの動作を前記人の操作により補正できる制御モードに切り替えた後に、前記ロボットアームに加えられた前記人の力と、動作中の前記ロボットアームの前記動作情報と、前記動作補正情報とから、前記人の操作によって前記ロボットアームの動作を変更するときの変更条件を設定する変更条件設定部と、
前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合に、前記動作情報取得部で取得した前記ロボットアームの位置と姿勢と速度と力のうちの少なくとも1つ以上の前記動作情報を、前記動作補正情報に従って、補正する動作補正部とを備えて、
前記動作補正情報は、前記人の前記ロボットアームへの前記人の操作に対する前記動作情報のうち、一部の区間を削除して補正するよう記述された補正方法に関する動作補正情報であり、
前記動作補正部により補正された前記動作情報に基づいて、前記ロボットアームの前記動作を制御するロボットアームの制御装置を提供する。
本発明の第12態様によれば、ロボットアームの動作を制御して前記ロボットアームによる作業を行うロボットアームの制御方法であって、
前記動作に対応する、前記ロボットアームの位置と姿勢と速度と力のうちの少なくとも1つ以上の時系列の動作情報を動作情報取得部で取得し、
前記動作情報を補正するために予め設定された、前記ロボットアームの前記動作の補正方法に関する動作補正情報を動作補正情報取得部で取得し、
前記ロボットアームを前記動作情報に基づいて動作するとともに、前記ロボットアームの動作中に、前記ロボットアームに前記人の力が加えられることにより、前記ロボットアームが前記人の操作により動作を補正できないよう制御する制御モードから前記ロボットアームの動作を前記人の操作により補正できる制御モードに切り替えた後に、前記ロボットアームに加えられた前記人の力と、動作中の前記ロボットアームの前記動作情報と、前記動作補正情報とから、前記人の操作によって前記ロボットアームの動作を変更するときの変更条件を変更条件設定部で設定し、
前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合に、前記動作情報取得部で取得した前記ロボットアームの位置と姿勢と速度と力のうちの少なくとも1つ以上の前記動作情報を、前記動作補正情報に従って、動作補正部で補正し、
前記動作補正情報は、前記人の前記ロボットアームへの前記人の操作に対する前記動作情報のうち、一部の区間を削除して補正するよう記述された補正方法に関する動作補正情報であって、前記動作補正部により補正された前記動作情報に基づいて、前記ロボットアームの前記動作を制御するロボットアームの制御方法を提供する。
前記動作に対応する、前記ロボットアームの位置と姿勢と速度と力のうちの少なくとも1つ以上の時系列の動作情報を動作情報取得部で取得し、
前記動作情報を補正するために予め設定された、前記ロボットアームの前記動作の補正方法に関する動作補正情報を動作補正情報取得部で取得し、
前記ロボットアームを前記動作情報に基づいて動作するとともに、前記ロボットアームの動作中に、前記ロボットアームに前記人の力が加えられることにより、前記ロボットアームが前記人の操作により動作を補正できないよう制御する制御モードから前記ロボットアームの動作を前記人の操作により補正できる制御モードに切り替えた後に、前記ロボットアームに加えられた前記人の力と、動作中の前記ロボットアームの前記動作情報と、前記動作補正情報とから、前記人の操作によって前記ロボットアームの動作を変更するときの変更条件を変更条件設定部で設定し、
前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合に、前記動作情報取得部で取得した前記ロボットアームの位置と姿勢と速度と力のうちの少なくとも1つ以上の前記動作情報を、前記動作補正情報に従って、動作補正部で補正し、
前記動作補正情報は、前記人の前記ロボットアームへの前記人の操作に対する前記動作情報のうち、一部の区間を削除して補正するよう記述された補正方法に関する動作補正情報であって、前記動作補正部により補正された前記動作情報に基づいて、前記ロボットアームの前記動作を制御するロボットアームの制御方法を提供する。
本発明の第13態様によれば、前記ロボットアームと、
前記ロボットアームの前記動作を制御する第1〜11のいずれか1つの態様に記載のロボットアームの制御装置を有するロボットを提供する。
前記ロボットアームの前記動作を制御する第1〜11のいずれか1つの態様に記載のロボットアームの制御装置を有するロボットを提供する。
本発明の第14態様によれば、ロボットアームの動作を制御して前記ロボットアームによる作業を行うロボットアームの制御プログラムであって、
前記動作に対応する、前記ロボットアームの位置と姿勢と速度と力のうちの少なくとも1つ以上の時系列の動作情報を動作情報取得部で取得するステップと、
前記動作情報を補正するために予め設定された、前記ロボットアームの前記動作の補正方法に関する動作補正情報を動作補正情報取得部で取得するステップと、
前記ロボットアームを前記動作情報に基づいて動作するとともに、前記ロボットアームの動作中に、前記ロボットアームに前記人の力が加えられることにより、前記ロボットアームが前記人の操作により動作を補正できないよう制御する制御モードから前記ロボットアームの動作を前記人の操作により補正できる制御モードに切り替えた後に、前記ロボットアームに加えられた前記人の力と、動作中の前記ロボットアームの前記動作情報と、前記動作補正情報とから、前記人の操作によって前記ロボットアームの動作を変更するときの変更条件を変更条件設定部で設定するステップと、
前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合に、前記動作情報取得部で取得した前記ロボットアームの位置と姿勢と速度と力のうちの少なくとも1つ以上の前記動作情報を、前記動作補正情報に従って、補正するステップと、
前記動作補正情報は、前記人の前記ロボットアームへの前記人の操作に対する前記動作情報のうち、一部の区間を削除して補正するよう記述された補正方法に関する動作補正情報であって、前記動作補正部により補正された前記動作情報に基づいて、前記ロボットアームの前記動作を制御するステップとをコンピュータに実行させるためのロボットアームの制御プログラムを提供する。
前記動作に対応する、前記ロボットアームの位置と姿勢と速度と力のうちの少なくとも1つ以上の時系列の動作情報を動作情報取得部で取得するステップと、
前記動作情報を補正するために予め設定された、前記ロボットアームの前記動作の補正方法に関する動作補正情報を動作補正情報取得部で取得するステップと、
前記ロボットアームを前記動作情報に基づいて動作するとともに、前記ロボットアームの動作中に、前記ロボットアームに前記人の力が加えられることにより、前記ロボットアームが前記人の操作により動作を補正できないよう制御する制御モードから前記ロボットアームの動作を前記人の操作により補正できる制御モードに切り替えた後に、前記ロボットアームに加えられた前記人の力と、動作中の前記ロボットアームの前記動作情報と、前記動作補正情報とから、前記人の操作によって前記ロボットアームの動作を変更するときの変更条件を変更条件設定部で設定するステップと、
前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合に、前記動作情報取得部で取得した前記ロボットアームの位置と姿勢と速度と力のうちの少なくとも1つ以上の前記動作情報を、前記動作補正情報に従って、補正するステップと、
前記動作補正情報は、前記人の前記ロボットアームへの前記人の操作に対する前記動作情報のうち、一部の区間を削除して補正するよう記述された補正方法に関する動作補正情報であって、前記動作補正部により補正された前記動作情報に基づいて、前記ロボットアームの前記動作を制御するステップとをコンピュータに実行させるためのロボットアームの制御プログラムを提供する。
本発明の第15態様によれば、ロボットアームの動作を制御して前記ロボットアームによる作業を行うロボットアームを制御する集積電子回路であって、
前記動作に対応する、前記ロボットアームの位置と姿勢と速度と力のうちの少なくとも1つ以上の時系列の動作情報を動作情報取得部で取得し、
前記動作情報を補正するために予め設定された、前記ロボットアームの前記動作の補正方法に関する動作補正情報を動作補正情報取得部で取得し、
前記ロボットアームを前記動作情報に基づいて動作するとともに、前記ロボットアームの動作中に、前記ロボットアームに前記人の力が加えられることにより、前記ロボットアームが前記人の操作により動作を補正できないよう制御する制御モードから前記ロボットアームの動作を前記人の操作により補正できる制御モードに切り替えた後に、前記ロボットアームに加えられた前記人の力と、動作中の前記ロボットアームの前記動作情報と、前記動作補正情報とから、前記人の操作によって前記ロボットアームの動作を変更するときの変更条件を変更条件設定部で設定し、
前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合に、前記動作情報取得部で取得した前記ロボットアームの位置と姿勢と速度と力のうちの少なくとも1つ以上の前記動作情報を、前記動作補正情報に従って、動作補正部で補正し、
前記動作補正情報は、前記人の前記ロボットアームへの前記人の操作に対する前記動作情報のうち、一部の区間を削除して補正するよう記述された補正方法に関する動作補正情報であって、前記動作補正部により補正された前記動作情報に基づいて、前記ロボットアームの前記動作を制御するロボットアームの集積電子回路を提供する。
前記動作に対応する、前記ロボットアームの位置と姿勢と速度と力のうちの少なくとも1つ以上の時系列の動作情報を動作情報取得部で取得し、
前記動作情報を補正するために予め設定された、前記ロボットアームの前記動作の補正方法に関する動作補正情報を動作補正情報取得部で取得し、
前記ロボットアームを前記動作情報に基づいて動作するとともに、前記ロボットアームの動作中に、前記ロボットアームに前記人の力が加えられることにより、前記ロボットアームが前記人の操作により動作を補正できないよう制御する制御モードから前記ロボットアームの動作を前記人の操作により補正できる制御モードに切り替えた後に、前記ロボットアームに加えられた前記人の力と、動作中の前記ロボットアームの前記動作情報と、前記動作補正情報とから、前記人の操作によって前記ロボットアームの動作を変更するときの変更条件を変更条件設定部で設定し、
前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合に、前記動作情報取得部で取得した前記ロボットアームの位置と姿勢と速度と力のうちの少なくとも1つ以上の前記動作情報を、前記動作補正情報に従って、動作補正部で補正し、
前記動作補正情報は、前記人の前記ロボットアームへの前記人の操作に対する前記動作情報のうち、一部の区間を削除して補正するよう記述された補正方法に関する動作補正情報であって、前記動作補正部により補正された前記動作情報に基づいて、前記ロボットアームの前記動作を制御するロボットアームの集積電子回路を提供する。
以上述べたように、本発明のロボットアームの制御装置及びロボットアームの制御装置を有するロボットによれば、動作情報取得部と、動作補正情報取得部と、変更条件設定部と、動作補正部とを有することにより、動作情報で記述されたロボットアームの動作を、人の力と動作補正情報に応じて、簡単に動作を補正することができるロボットアームの動作制御が可能となる。さらに、人から入力された動作パラメータの変動を考慮した動作補正が可能となる。
また、本発明のロボットアームの制御方法及びロボットアームの制御プログラム及び集積電子回路によれば、動作情報で記述されたロボットアームの動作を、人から入力された動作パラメータの変動を考慮して、簡単に動作を補正することができるロボットアームの制御が可能となる。
本発明のこれらと他の目的と特徴は、添付された図面についての好ましい実施形態に関連した次の記述から明らかになる。
図1は、本発明の第1実施形態におけるロボットアームの制御装置の構成の概要を示す図である。
図2は、本発明の前記第1実施形態におけるロボットシステムを構成する制御装置と制御対象であるロボットアームの詳細構成を示す図である。
図3は、本発明の前記第1実施形態における前記制御装置の制御部の構成を示すブロック図である。
図4Aは、前記第1実施形態における前記制御装置の動作情報データベースの動作情報の一覧表を説明する図である。
図4Bは、前記第1実施形態における前記制御装置の動作情報データベースの別の動作情報の一覧表を説明する図である。
図5は、前記第1実施形態における前記制御装置の動作情報データベースのフラグの情報を説明する図である。
図6は、前記第1実施形態における前記制御装置の動作情報データベースの補正パラメータフラグに関する情報を説明する図である。
図7は、本発明の前記第1実施形態におけるロボットアームの制御装置の操作状態を示す図である。
図8Aは、本発明の前記第1実施形態における前記ロボットアームの制御装置の動作を示す図である。
図8Bは、本発明の前記第1実施形態における前記ロボットアームの制御装置の動作及び人の操作状態を示す図である。
図8Cは、本発明の前記第1実施形態における前記ロボットアームの制御装置の動作を示す図である。
図9は、本発明の前記第1実施形態における前記ロボットアームの制御装置の動作を示す図である。
図10は、本発明の前記第1実施形態における前記ロボットアームの制御装置の動作を示す図である。
図11は、本発明の前記第1実施形態における前記制御装置の制御部の動作ステップを表すフローチャートである。
図12Aは、前記第1実施形態における前記制御装置の動作補正情報データベースの動作補正情報の一覧表を説明する図である。
図12Bは、前記第1実施形態における前記制御装置の動作補正情報データベースの動作補正情報の一覧表を説明する図である。
図13は、本発明の前記第1実施形態における前記ロボットアームの動作情報の一覧表を説明する図である。
図14は、本発明の前記第1実施形態における前記制御装置の変更条件設定部と動作補正部と動作指令部と動作記憶部と動作情報データベースと動作補正情報データベースと制御パラメータ管理部の動作ステップを表すフローチャートである。
図15Aは、本発明の第2実施形態におけるロボットアームの制御装置でのロボットアームの動作情報の一覧表を説明する図である。
図15Bは、本発明の前記第2実施形態における前記ロボットアームの制御装置での前記ロボットアームの動作情報を説明する図である。
図16は、本発明の前記第2実施形態におけるロボットアームの制御装置の動作補正情報データベースの動作補正情報の一覧表を説明する図である。
図17Aは、本発明の第3実施形態におけるロボットアームの制御装置のロボットアームの動作情報の一覧表を説明する図である。
図17Bは、本発明の第3実施形態におけるロボットアームの制御装置のロボットアームの動作情報を説明する図である。
図17Cは、本発明の第3実施形態におけるロボットアームの制御装置のロボットアームの動作情報を説明する図である。
図18は、本発明の前記第3実施形態における前記ロボットアームの制御装置の動作補正情報データベースの動作補正情報の一覧表を説明する図である。
図19は、本発明の第4実施形態におけるロボットシステムを構成する前記制御装置と制御対象である前記ロボットアームの詳細構成を示す図である。
図20は、本発明の第4実施形態におけるロボットアームの制御装置の動作補正情報データベースの動作補正情報の一覧表を説明する図である。
図21は、本発明の前記第4実施形態の前記制御装置におけるロボットアームの動作情報の一覧表を説明する図である。
図22は、本発明の第5実施形態におけるロボットアームの制御装置の動作補正情報データベースの動作補正情報の一覧表を説明する図である。
図23Aは、本発明の前記第5実施形態の前記制御装置におけるロボットアームの動作情報の一覧表を説明する図である。
図23Bは、本発明の前記第5実施形態の前記制御装置におけるロボットアームの動作情報を説明する図である。
図23Cは、本発明の前記第5実施形態の前記制御装置におけるロボットアームの動作情報を説明する図である。
図23Dは、本発明の前記第5実施形態の前記制御装置におけるロボットアームの動作情報を説明する図である。
図23Eは、本発明の前記第5実施形態の前記制御装置におけるロボットアームの動作情報を説明する図である。
図24は、本発明の第6実施形態におけるロボットアームの制御装置の動作補正情報データベースの動作補正情報の一覧表を説明する図である。
図25Aは、本発明の前記第6実施形態の前記制御装置におけるロボットアームの動作情報の一覧表を説明する図である。
図25Bは、本発明の前記第6実施形態の前記制御装置におけるロボットアームの動作情報を説明する図である。
図25Cは、本発明の前記第6実施形態の前記制御装置におけるロボットアームの動作情報を説明する図である。
図26Aは、本発明の第8実施形態におけるロボットアームの制御装置の動作を示す図である。
図26Bは、本発明の前記第8実施形態における前記ロボットアームの制御装置の動作を示す図である。
図27Aは、本発明の前記第8実施形態における前記ロボットアームの制御装置の動作及び人の操作状態を示す図である。
図27Bは、本発明の前記第8実施形態における前記ロボットアームの制御装置の動作及び人の操作状態を示す図である。
図28は、動作補正情報データベースの動作補正情報の一覧表を説明する図である。
図29は、前記第8実施形態における前記ロボットアームの制御装置の動作補正情報データベースの動作補正情報の一覧表を説明する図である。
図30は、本発明の前記第8実施形態における前記ロボットアームの制御装置の動作を示す図である。
図31は、本発明の第7実施形態におけるロボットシステムを構成する制御装置と制御対象であるロボットアームの詳細構成を示す図である。
図32Aは、本発明の第9実施形態におけるロボットアームの制御装置の動作及び人の操作状態を示す図である。
図32Bは、本発明の前記第9実施形態における前記ロボットアームの制御装置の動作及び人の操作状態を示す図である。
図32Cは、本発明の前記第9実施形態における前記ロボットアームの制御装置の動作及び人の操作状態を示す図である。
図33は、前記第9実施形態における前記ロボットアームの制御装置の動作補正情報データベースの動作補正情報の一覧表を説明する図である。
図34は、本発明の前記第9実施形態における前記ロボットアームの制御装置のロボットアームの動作情報の一覧表を説明する図である。
図35は、本発明の前記第8実施形態の前記制御装置におけるアシスト値算出部のアシスト値の一覧表を説明する図である。
図36は、本発明の前記第9実施形態の前記ロボットアームの制御装置におけるアシスト値算出部のアシスト値の一覧表を説明する図である。
図37は、前記第9実施形態における前記ロボットアームの制御装置の動作補正情報データベースの動作補正情報の一覧表を説明する図である。
図38Aは、本発明の前記第7実施形態におけるロボットアームの可動範囲に関する情報を説明する図である。
図38Bは、本発明の前記第7実施形態における前記ロボットアームの可動範囲に関する情報を説明する図である。
図39は、本発明の前記第7実施形態の前記制御装置における前記ロボットアームの操作履歴情報データベースの動作情報の一覧表を説明する図である。
図40は、前記第7実施形態の前記制御装置における前記ロボットアームの可動範囲に関する情報を説明する図である。
図41は、前記第7実施形態の前記制御装置における前記ロボットアームの可動範囲に関する情報を説明する図である。
図42は、本発明の第10実施形態におけるロボットシステムを構成する制御装置と制御対象であるロボットアームの詳細構成を示す図である。
図43Aは、前記第10実施形態の前記制御装置の動作補正情報データベースの補正履歴情報の一覧表を説明する図である。
図43Bは、前記第10実施形態の前記制御装置の動作補正情報データベースの補正履歴情報の一覧表を説明する図である。
図44は、本発明の前記第10実施形態に前記おけるロボットシステムを構成する表示部を示す図である。
図45Aは、本発明の前記第1実施形態における前記制御装置のロボットアームにおける座標系に関する図である。
図45Bは、本発明の前記第1実施形態における前記制御装置のロボットアームにおける座標系に関する図である。
図45Cは、本発明の前記第1実施形態における前記制御装置のロボットアームにおける座標系に関する図である。
図46は、本発明の第11実施形態におけるロボットアームの制御装置の動作補正部における各補正方法の適応順序を表すフローチャートである。
以下に、本発明にかかる実施の形態を図面に基づいて詳細に説明する。
以下、図面を参照して本発明における実施形態を詳細に説明する前に、本発明の種々の態様について説明する。
本発明の第1態様によれば、ロボットアームの動作を制御して前記ロボットアームによる作業を行うロボットアームの制御装置であって、
前記動作に対応する、前記ロボットアームの位置と姿勢と速度と力のうちの少なくとも1つ以上の時系列の動作情報を取得する動作情報取得部と、
前記動作情報の前記ロボットアームによる補正方法に関する動作補正情報を取得する動作補正情報取得部と、
前記ロボットアームを前記動作情報に基づいて動作するとともに、前記ロボットアームの動作中に、前記ロボットアームに前記人の力が加えられることにより、前記ロボットアームが前記人の操作により動作を補正できないよう制御する制御モードから前記ロボットアームの動作を前記人の操作により補正できる制御モードに切り替えた後に、前記ロボットアームに加えられた前記人の力と、動作中の前記ロボットアームの前記動作情報と、前記動作補正情報とから、前記人の操作によって前記ロボットアームの動作を変更するときの変更条件を設定する変更条件設定部と、
前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合に、前記動作情報取得部で取得した前記ロボットアームの位置と姿勢と速度と力のうちの少なくとも1つ以上の前記動作情報を補正する動作補正部とを備えて、
前記動作補正部により補正された前記動作情報に基づいて、前記ロボットアームの前記動作を制御するロボットアームの制御装置を提供する。
前記動作に対応する、前記ロボットアームの位置と姿勢と速度と力のうちの少なくとも1つ以上の時系列の動作情報を取得する動作情報取得部と、
前記動作情報の前記ロボットアームによる補正方法に関する動作補正情報を取得する動作補正情報取得部と、
前記ロボットアームを前記動作情報に基づいて動作するとともに、前記ロボットアームの動作中に、前記ロボットアームに前記人の力が加えられることにより、前記ロボットアームが前記人の操作により動作を補正できないよう制御する制御モードから前記ロボットアームの動作を前記人の操作により補正できる制御モードに切り替えた後に、前記ロボットアームに加えられた前記人の力と、動作中の前記ロボットアームの前記動作情報と、前記動作補正情報とから、前記人の操作によって前記ロボットアームの動作を変更するときの変更条件を設定する変更条件設定部と、
前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合に、前記動作情報取得部で取得した前記ロボットアームの位置と姿勢と速度と力のうちの少なくとも1つ以上の前記動作情報を補正する動作補正部とを備えて、
前記動作補正部により補正された前記動作情報に基づいて、前記ロボットアームの前記動作を制御するロボットアームの制御装置を提供する。
本発明の第2態様によれば、前記動作補正情報取得部は、前記人の前記ロボットアームへの前記人の操作に対する前記動作情報のうち、一部の区間を削除して補正するよう記述された補正方法に関する動作補正情報を取得する、第1の態様に記載のロボットアームの制御装置を提供する。
本発明の第3態様によれば、前記動作補正情報取得部は、人の前記ロボットアームへの前記人の操作に対する前記動作情報のうち、一部の区間を、前記ロボットアームの位置又は速度又は前記ロボットアームに加わる力のうち少なくとも1つ以上の値をアシストして補正するよう記述された補正方法に関する動作補正情報を取得する、第1の態様に記載のロボットアームの制御装置を提供する。
本発明の第4態様によれば、前記ロボットアームに外部から加えられた力を検出する力検出部をさらに備え、
前記動作情報取得部で取得した前記動作情報は、前記ロボットアームが行う前記動作に応じて、それぞれの時間での、前記ロボットアームの手先の位置情報と、前記ロボットアームの姿勢情報と、前記ロボットアームの速度情報と、前記ロボットアームの手先にかかる力の情報とのうちの少なくとも1つの情報であり、
前記動作補正部により、前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合でかつ前記ロボットアームの動作中に、前記力検出部で検出された前記人の力と、前記動作補正情報とに応じて、前記動作情報取得部で取得した前記動作情報を補正するとき、前記ロボットアームが行う前記動作に応じて、それぞれの時間での前記位置情報又は前記姿勢情報又は前記速度情報又は前記力の情報のうち少なくとも1つ以上の情報を使用して、前記動作情報取得部で取得した前記動作情報を補正する第1又は2又は3の態様に記載のロボットアームの制御装置を提供する。
前記動作情報取得部で取得した前記動作情報は、前記ロボットアームが行う前記動作に応じて、それぞれの時間での、前記ロボットアームの手先の位置情報と、前記ロボットアームの姿勢情報と、前記ロボットアームの速度情報と、前記ロボットアームの手先にかかる力の情報とのうちの少なくとも1つの情報であり、
前記動作補正部により、前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合でかつ前記ロボットアームの動作中に、前記力検出部で検出された前記人の力と、前記動作補正情報とに応じて、前記動作情報取得部で取得した前記動作情報を補正するとき、前記ロボットアームが行う前記動作に応じて、それぞれの時間での前記位置情報又は前記姿勢情報又は前記速度情報又は前記力の情報のうち少なくとも1つ以上の情報を使用して、前記動作情報取得部で取得した前記動作情報を補正する第1又は2又は3の態様に記載のロボットアームの制御装置を提供する。
本発明の第5態様によれば、前記ロボットアームに外部から加えられた力を検出する力検出部をさらに備え、
前記動作情報取得部で取得した前記動作補正情報は、前記人の操作に対する前記動作情報の軌跡について、周期性のある区間を検出して補正する周期性補正方法と、前記人が補正中の動作について、一部の区間を、前記ロボットアームの位置又は速度又は前記ロボットアームに加える力のうち少なくとも1つ以上の値をアシストして補正するかどうかを検出した後に補正するアシスト補正方法のうちの少なくとも1つの情報であり、
前記動作補正部は、前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合でかつ前記ロボットアームの動作中に、前記力検出部で検出された前記人の力と、前記周期性補正方法と、前記アシスト補正方法とのうち少なくとも1つの情報に応じて、前記動作情報取得部で取得した前記動作情報を補正する第3の態様に記載のロボットアームの制御装置を提供する。
前記動作情報取得部で取得した前記動作補正情報は、前記人の操作に対する前記動作情報の軌跡について、周期性のある区間を検出して補正する周期性補正方法と、前記人が補正中の動作について、一部の区間を、前記ロボットアームの位置又は速度又は前記ロボットアームに加える力のうち少なくとも1つ以上の値をアシストして補正するかどうかを検出した後に補正するアシスト補正方法のうちの少なくとも1つの情報であり、
前記動作補正部は、前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合でかつ前記ロボットアームの動作中に、前記力検出部で検出された前記人の力と、前記周期性補正方法と、前記アシスト補正方法とのうち少なくとも1つの情報に応じて、前記動作情報取得部で取得した前記動作情報を補正する第3の態様に記載のロボットアームの制御装置を提供する。
本発明の第6態様によれば、前記ロボットアームに外部から加えられた力を検出する力検出部をさらに備え、
前記動作補正情報取得部で取得した前記動作補正情報は、前記人が前記ロボットアームを操作し始めてからある時間経過した区間と、前記人が前記ロボットアームの操作を終了する直前の区間のうち、少なくとも1つの区間を削除して補正する補正方法であり、
前記動作補正部は、
前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合でかつ前記ロボットアームの動作中に、前記力検出部で検出された前記人の力と、
(I)前記人が前記ロボットアームを操作し始めてからある時間経過した区間と、
(II)前記人が前記ロボットアームの操作を終了する直前の区間と
のうち、前記(I)及び(II)の少なくとも1つの区間を削除して補正する補正方法により、前記動作情報取得部で取得した前記動作情報を補正し、前記(I)又は(II)の区間の長さは、前記ロボットアームの速度に応じて決定する第2の態様に記載のロボットアームの制御装置を提供する。
前記動作補正情報取得部で取得した前記動作補正情報は、前記人が前記ロボットアームを操作し始めてからある時間経過した区間と、前記人が前記ロボットアームの操作を終了する直前の区間のうち、少なくとも1つの区間を削除して補正する補正方法であり、
前記動作補正部は、
前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合でかつ前記ロボットアームの動作中に、前記力検出部で検出された前記人の力と、
(I)前記人が前記ロボットアームを操作し始めてからある時間経過した区間と、
(II)前記人が前記ロボットアームの操作を終了する直前の区間と
のうち、前記(I)及び(II)の少なくとも1つの区間を削除して補正する補正方法により、前記動作情報取得部で取得した前記動作情報を補正し、前記(I)又は(II)の区間の長さは、前記ロボットアームの速度に応じて決定する第2の態様に記載のロボットアームの制御装置を提供する。
本発明の第7態様によれば、前記ロボットアームに外部から加えられた力を検出する力検出部をさらに備え、
前記動作補正情報は、前記人の力が力用の閾値以上でありかつ時間用の閾値以上の時間が継続する区間以外を削除して補正する補正方法であり、
前記動作補正部は、前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合でかつ前記ロボットアームの前記動作中に、前記力検出部で検出された前記人の力と、前記人の力が前記力用の閾値以上であることが、前記時間用の閾値以上の時間が継続する区間以外を削除して補正する補正方法により、前記動作情報取得部で取得した前記動作情報を補正する第2の態様に記載のロボットアームの制御装置を提供する。
前記動作補正情報は、前記人の力が力用の閾値以上でありかつ時間用の閾値以上の時間が継続する区間以外を削除して補正する補正方法であり、
前記動作補正部は、前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合でかつ前記ロボットアームの前記動作中に、前記力検出部で検出された前記人の力と、前記人の力が前記力用の閾値以上であることが、前記時間用の閾値以上の時間が継続する区間以外を削除して補正する補正方法により、前記動作情報取得部で取得した前記動作情報を補正する第2の態様に記載のロボットアームの制御装置を提供する。
本発明の第8態様によれば、前記ロボットアームに外部から加えられた力を検出する力検出部をさらに備え、
前記動作補正情報は、時間用の閾値以下の時間内で、前記人の力が力用の閾値以上である場合は、その時間内の操作区間を削除して補正する補正方法であり、
前記動作補正部は、前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合でかつ前記ロボットアームの前記動作中に、前記力検出部で検出された前記人の力と、前記時間用の閾値以下の時間内で、前記人の力が前記力用の閾値以上である場合は、その時間内の操作区間を削除して補正する補正方法により、前記動作情報取得部で取得した前記動作情報を補正する第2の態様に記載のロボットアームの制御装置を提供する。
前記動作補正情報は、時間用の閾値以下の時間内で、前記人の力が力用の閾値以上である場合は、その時間内の操作区間を削除して補正する補正方法であり、
前記動作補正部は、前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合でかつ前記ロボットアームの前記動作中に、前記力検出部で検出された前記人の力と、前記時間用の閾値以下の時間内で、前記人の力が前記力用の閾値以上である場合は、その時間内の操作区間を削除して補正する補正方法により、前記動作情報取得部で取得した前記動作情報を補正する第2の態様に記載のロボットアームの制御装置を提供する。
本発明の第9態様によれば、前記ロボットアームに外部から加えられた力を検出する力検出部と、
前記動作情報取得部で取得した前記動作情報のうち補正の対象となるパラメータの種別を決定する補正方法種別決定部とをさらに備え、
前記動作補正情報は、前記補正方法種別決定部で決定した種別以外のパラメータを削除して補正する補正方法であり、
前記動作補正部は、前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合でかつ前記ロボットアームの前記動作中に、前記力検出部で検出された前記人の力と、前記補正方法種別決定部で決定した種別以外のパラメータを削除して補正する補正方法により、前記動作情報取得部で取得した前記動作情報を補正する第2の態様に記載のロボットアームの制御装置を提供する。
前記動作情報取得部で取得した前記動作情報のうち補正の対象となるパラメータの種別を決定する補正方法種別決定部とをさらに備え、
前記動作補正情報は、前記補正方法種別決定部で決定した種別以外のパラメータを削除して補正する補正方法であり、
前記動作補正部は、前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合でかつ前記ロボットアームの前記動作中に、前記力検出部で検出された前記人の力と、前記補正方法種別決定部で決定した種別以外のパラメータを削除して補正する補正方法により、前記動作情報取得部で取得した前記動作情報を補正する第2の態様に記載のロボットアームの制御装置を提供する。
本発明の第10態様によれば、前記周期性補正方法は、前記ロボットアームの位置又は姿勢又は速度又は力の情報のうちいずれか1つ以上の情報に関して偏りがある区間において、前記偏りがなくなるように
補正する補正方法であり、
前記動作補正部は、前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合でかつ前記ロボットアームの前記動作中に、前記力検出部で検出された前記人の力と、前記ロボットアームの位置又は姿勢又は速度又は力の情報に関して偏りがある区間において、前記偏りがなくなるように前記ロボットアームの位置及び姿勢の情報を補正する補正方法により、前記動作情報取得部で取得した前記動作情報を補正する第5の態様に記載のロボットアームの制御装置を提供する。
補正する補正方法であり、
前記動作補正部は、前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合でかつ前記ロボットアームの前記動作中に、前記力検出部で検出された前記人の力と、前記ロボットアームの位置又は姿勢又は速度又は力の情報に関して偏りがある区間において、前記偏りがなくなるように前記ロボットアームの位置及び姿勢の情報を補正する補正方法により、前記動作情報取得部で取得した前記動作情報を補正する第5の態様に記載のロボットアームの制御装置を提供する。
本発明の第11態様によれば、前記周期性補正方法は、前記ロボットアームの位置又は姿勢又は速度又は力の情報に関して周期的に繰り返している区間において、前記繰り返し区間のそれぞれの前記ロボットアームの位置又は姿勢又は速度又は力の情報を平均化するように補正する補正方法であり、
前記動作補正部は、前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合でかつ前記ロボットアームの前記動作中に、前記力検出部で検出された前記人の力と、前記ロボットアームの位置又は姿勢又は速度又は力の情報に関して規則的に繰り返している区間において、前記繰り返し区間のそれぞれの前記ロボットアームの位置及び姿勢の情報を平均化するように補正する補正方法により、前記動作情報取得部で取得した前記動作情報を補正する第5の態様に記載のロボットアームの制御装置を提供する。
前記動作補正部は、前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合でかつ前記ロボットアームの前記動作中に、前記力検出部で検出された前記人の力と、前記ロボットアームの位置又は姿勢又は速度又は力の情報に関して規則的に繰り返している区間において、前記繰り返し区間のそれぞれの前記ロボットアームの位置及び姿勢の情報を平均化するように補正する補正方法により、前記動作情報取得部で取得した前記動作情報を補正する第5の態様に記載のロボットアームの制御装置を提供する。
本発明の第12態様によれば、前記アシスト補正方法は、前記人が前記ロボットアームに対する操作回数の下限閾値以上且つ上限閾値以下の回数の操作を継続していて、且つ前記人の操作前後の前記動作情報の位置又は姿勢又は速度又は力に関する情報のいずれか1つ以上の情報において、その値の操作前後の差が閾値以上の場合において、前記動作情報を補正する補正方法であり、
前記動作補正部は、前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合でかつ前記ロボットアームの前記動作中に、前記力検出部で検出された前記人の力と、前記人が前記下限閾値以上且つ前記上限閾値以下の回数の操作を継続していて、且つ前記人の操作前後の前記動作情報の位置又は姿勢又は速度又は力に関する情報のいずれか1つ以上の情報において、その値の操作前後の差が閾値以上の場合において、前記変化した動作情報を補正する補正方法により、前記動作情報取得部で取得した前記動作情報を補正する第5の態様に記載のロボットアームの制御装置を提供する。
前記動作補正部は、前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合でかつ前記ロボットアームの前記動作中に、前記力検出部で検出された前記人の力と、前記人が前記下限閾値以上且つ前記上限閾値以下の回数の操作を継続していて、且つ前記人の操作前後の前記動作情報の位置又は姿勢又は速度又は力に関する情報のいずれか1つ以上の情報において、その値の操作前後の差が閾値以上の場合において、前記変化した動作情報を補正する補正方法により、前記動作情報取得部で取得した前記動作情報を補正する第5の態様に記載のロボットアームの制御装置を提供する。
本発明の第13態様によれば、前記アシスト補正方法は、前記人が前記下限閾値以上且つ前記上限閾値以下の回数の操作を継続していて、且つ、前記人の操作前から前記ロボットアームの手先の位置情報が変化しており、且つ変化した前記位置情報が、前記ロボットアームの可動範囲外にある場合の回数が可動範囲用の閾値以上ある場合において、前記位置情報を前記ロボットアームの可動範囲内となるように補正する補正方法であり、
前記動作補正部は、前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合に、前記人が前記下限閾値以上且つ前記上限閾値以下の回数の操作を継続していて、且つ、操作前から前記ロボットアームの手先の位置情報が変化しており、且つ変化した前記位置情報が、前記ロボットアームの可動範囲外にある場合の回数が前記可動範囲用の閾値以上ある場合において、前記位置情報を前記可動範囲内となるように補正する補正する補正方法により、前記動作情報取得部で取得した前記動作情報を補正する第12の態様に記載のロボットアームの制御装置を提供する。
前記動作補正部は、前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合に、前記人が前記下限閾値以上且つ前記上限閾値以下の回数の操作を継続していて、且つ、操作前から前記ロボットアームの手先の位置情報が変化しており、且つ変化した前記位置情報が、前記ロボットアームの可動範囲外にある場合の回数が前記可動範囲用の閾値以上ある場合において、前記位置情報を前記可動範囲内となるように補正する補正する補正方法により、前記動作情報取得部で取得した前記動作情報を補正する第12の態様に記載のロボットアームの制御装置を提供する。
本発明の第14態様によれば、前記力検出部は、前記ロボットアームの手先にかかる力情報を検出し、
前記アシスト補正方法は、前記人が前記下限閾値以上且つ前記上限閾値以下の回数の操作を継続していて、且つ、前記ロボットアームの前記手先にかかる前記力情報が操作前より操作後に力情報用の閾値以上増加している場合において、前記力情報を増加するように補正する補正方法であり、
前記動作補正部は、前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合でかつ前記ロボットアームの前記動作中に、前記力検出部で検出された前記人の力と、前記人が前記下限閾値以上且つ前記上限閾値以下の回数の操作を継続していて、且つ、前記ロボットアームの手先にかかる力情報が操作前より操作後に前記力情報用の閾値以上増加している場合において、前記力情報を増加するように補正する補正方法により、前記動作情報取得部で取得した前記動作情報を補正する第12の態様に記載のロボットアームの制御装置を提供する。
前記アシスト補正方法は、前記人が前記下限閾値以上且つ前記上限閾値以下の回数の操作を継続していて、且つ、前記ロボットアームの前記手先にかかる前記力情報が操作前より操作後に力情報用の閾値以上増加している場合において、前記力情報を増加するように補正する補正方法であり、
前記動作補正部は、前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合でかつ前記ロボットアームの前記動作中に、前記力検出部で検出された前記人の力と、前記人が前記下限閾値以上且つ前記上限閾値以下の回数の操作を継続していて、且つ、前記ロボットアームの手先にかかる力情報が操作前より操作後に前記力情報用の閾値以上増加している場合において、前記力情報を増加するように補正する補正方法により、前記動作情報取得部で取得した前記動作情報を補正する第12の態様に記載のロボットアームの制御装置を提供する。
本発明の第15態様によれば、前記アシスト補正方法は、前記人が前記下限閾値以上且つ前記上限閾値以下の回数の操作を継続していて、且つ、前記ロボットアームの手先の速度情報が操作前より操作後に速度用の閾値以上増加している場合において、前記速度情報を増加するように補正する補正方法であり、
前記動作補正部は、前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合でかつ前記ロボットアームの前記動作中に、前記力検出部で検出された前記人の力と、前記人が前記下限閾値以上且つ前記上限閾値以下の回数の操作を継続していて、且つ、前記ロボットアームの手先の速度情報が操作前より操作後に前記速度用の閾値以上増加している場合において、前記速度情報を増加するように補正する補正方法により、前記動作情報取得部で取得した前記動作情報を補正する第12の態様に記載のロボットアームの制御装置を提供する。
前記動作補正部は、前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合でかつ前記ロボットアームの前記動作中に、前記力検出部で検出された前記人の力と、前記人が前記下限閾値以上且つ前記上限閾値以下の回数の操作を継続していて、且つ、前記ロボットアームの手先の速度情報が操作前より操作後に前記速度用の閾値以上増加している場合において、前記速度情報を増加するように補正する補正方法により、前記動作情報取得部で取得した前記動作情報を補正する第12の態様に記載のロボットアームの制御装置を提供する。
本発明の第16態様によれば、前記動作情報取得部で取得した前記動作情報を補正するための値を算出するアシスト値算出部をさらに備え、
前記アシスト値算出部は、前記人が前記ロボットアームを操作した回数に応じて前記値を算出する第12の態様に記載のロボットアームの制御装置を提供する。
前記アシスト値算出部は、前記人が前記ロボットアームを操作した回数に応じて前記値を算出する第12の態様に記載のロボットアームの制御装置を提供する。
本発明の第17態様によれば、前記ロボットアームに外部から加えられた力を検出する力検出部をさらに備え、
前記人が前記ロボットアームに対する操作回数の下限閾値以上の回数の操作を継続している場合は、前記力検出部で検出された前記人の力のみで前記動作情報取得部で取得した前記動作情報を補正する第1又は2又は3の態様に記載のロボットアームの制御装置を提供する。
前記人が前記ロボットアームに対する操作回数の下限閾値以上の回数の操作を継続している場合は、前記力検出部で検出された前記人の力のみで前記動作情報取得部で取得した前記動作情報を補正する第1又は2又は3の態様に記載のロボットアームの制御装置を提供する。
本発明の第18態様によれば、前記ロボットアームに外部から加えられた力を検出する力検出部をさらに備え、
前記動作補正部は、前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合に、前記動作情報に基づいて、
(I)前記ロボットアームが動作中に、前記力検出部で検出されたかつ前記ロボットアームに加わる力に応じて前記ロボットアームが作動するハイブリッドインピーダンス制御モードと、
(II)前記力検出部で検出されかつ、停止している前記ロボットアームに対して前記人から前記ロボットアームに加わる力に応じて、前記ロボットアームが作動するインピーダンス制御モードと、さらに、
(III)指定した力を作用させて動作する力制御モードと
の前記3種類の制御モードのうち少なくとも1つ以上の制御モードを前記ロボットアームの関節部の回転軸の方向別に設定するとともに、前記回転軸の方向の少なくとも1つに前記(III)の制御モードが設定して前記ロボットアームを動作させている最中に、前記(III)の制御モードが設定された方向について、前記人の操作時において、前記ロボットアームの動作中に前記人の操作により前記ロボットアームが移動しない制御モードに切り替えて、前記動作情報取得部で取得した前記動作情報のうち前記指定した力を作用させて動作する際の前記力を補正する第1又は2又は3の態様に記載のロボットアームの制御装置を提供する。
前記動作補正部は、前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合に、前記動作情報に基づいて、
(I)前記ロボットアームが動作中に、前記力検出部で検出されたかつ前記ロボットアームに加わる力に応じて前記ロボットアームが作動するハイブリッドインピーダンス制御モードと、
(II)前記力検出部で検出されかつ、停止している前記ロボットアームに対して前記人から前記ロボットアームに加わる力に応じて、前記ロボットアームが作動するインピーダンス制御モードと、さらに、
(III)指定した力を作用させて動作する力制御モードと
の前記3種類の制御モードのうち少なくとも1つ以上の制御モードを前記ロボットアームの関節部の回転軸の方向別に設定するとともに、前記回転軸の方向の少なくとも1つに前記(III)の制御モードが設定して前記ロボットアームを動作させている最中に、前記(III)の制御モードが設定された方向について、前記人の操作時において、前記ロボットアームの動作中に前記人の操作により前記ロボットアームが移動しない制御モードに切り替えて、前記動作情報取得部で取得した前記動作情報のうち前記指定した力を作用させて動作する際の前記力を補正する第1又は2又は3の態様に記載のロボットアームの制御装置を提供する。
本発明の第19態様によれば、前記動作補正部は、前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合に、前記動作情報に基づいて、
(I)前記ロボットアームが動作中に、前記力検出部で検出されかつ前記ロボットアームに加わる力に応じて前記ロボットアームが作動するハイブリッドインピーダンス制御モードと、
(II)前記力検出部で検出されかつ、停止している前記ロボットアームに対して前記人から前記ロボットアームに加わる力に応じて、前記ロボットアームが作動するインピーダンス制御モードと、さらに、
(III)指定した力を作用させて動作する力制御モードとの
前記3種類の制御モードのうち少なくとも1つ以上の制御モードを前記ロボットアームの関節部の回転軸の方向別に設定するとともに、前記回転軸の方向の少なくとも1つに前記(II)の制御モードが設定して前記ロボットアームを動作させている最中に、前記(I)若しくは(II)の制御モードが設定された方向について、前記人の操作時において、前記動作補正情報に応じて、前記ハイブリッドインピーダンス制御に切り替えて、前記動作情報取得部で取得した前記動作情報を補正する第1又は2又は3の態様に記載
のロボットアームの制御装置を提供する。
(I)前記ロボットアームが動作中に、前記力検出部で検出されかつ前記ロボットアームに加わる力に応じて前記ロボットアームが作動するハイブリッドインピーダンス制御モードと、
(II)前記力検出部で検出されかつ、停止している前記ロボットアームに対して前記人から前記ロボットアームに加わる力に応じて、前記ロボットアームが作動するインピーダンス制御モードと、さらに、
(III)指定した力を作用させて動作する力制御モードとの
前記3種類の制御モードのうち少なくとも1つ以上の制御モードを前記ロボットアームの関節部の回転軸の方向別に設定するとともに、前記回転軸の方向の少なくとも1つに前記(II)の制御モードが設定して前記ロボットアームを動作させている最中に、前記(I)若しくは(II)の制御モードが設定された方向について、前記人の操作時において、前記動作補正情報に応じて、前記ハイブリッドインピーダンス制御に切り替えて、前記動作情報取得部で取得した前記動作情報を補正する第1又は2又は3の態様に記載
のロボットアームの制御装置を提供する。
本発明の第20態様によれば、前記動作補正部の補正時に適応した前記動作補正情報の履歴に関する情報に基づいて、前記人の操作に対する助言に関する情報を表示する表示部をさらに備える第1又は2又は3の態様に記載のロボットアームの制御装置を提供する。
本発明の第21態様によれば、前記動作補正部は、前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合に、前記人のロボットアームへの前記人の操作に対する前記動作情報のうち、一部の区間を削除して補正するよう記述された補正方法により、前記動作情報取得部で取得した前記動作情報を補正した後で、前記人の前記ロボットアームへの前記人の操作に対する前記動作情報のうち、一部の区間をアシストして補正するよう補正する第1又は2又は3の態様に記載のロボットアームの制御装置を提供する。
本発明の第22態様によれば、ロボットアームの動作を制御して前記ロボットアームによる作業を行うロボットアームの制御方法であって、
前記動作に対応する、前記ロボットアームの位置と姿勢と速度と力のうちの少なくとも1つ以上の時系列の動作情報を動作情報取得部で取得し、
前記動作情報の前記ロボットアームによる補正方法に関する動作補正情報を動作補正情報取得部で取得し、
前記ロボットアームを前記動作情報に基づいて動作するとともに、前記ロボットアームの動作中に、前記ロボットアームに前記人の力が加えられることにより、前記ロボットアームが前記人の操作により動作を補正できないよう制御する制御モードから前記ロボットアームの動作を前記人の操作により補正できる制御モードに切り替えた後に、前記ロボットアームに加えられた前記人の力と、動作中の前記ロボットアームの前記動作情報と、前記動作補正情報とから、前記人の操作によって前記ロボットアームの動作を変更するときの変更条件を変更条件設定部で設定し、
前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合に、前記動作情報取得部で取得した前記ロボットアームの位置と姿勢と速度と力のうちの少なくとも1つ以上の前記動作情報を動作補正部で補正し、
前記動作補正部により補正された前記動作情報に基づいて、前記ロボットアームの前記動作を制御するロボットアームの制御方法を提供する。
前記動作に対応する、前記ロボットアームの位置と姿勢と速度と力のうちの少なくとも1つ以上の時系列の動作情報を動作情報取得部で取得し、
前記動作情報の前記ロボットアームによる補正方法に関する動作補正情報を動作補正情報取得部で取得し、
前記ロボットアームを前記動作情報に基づいて動作するとともに、前記ロボットアームの動作中に、前記ロボットアームに前記人の力が加えられることにより、前記ロボットアームが前記人の操作により動作を補正できないよう制御する制御モードから前記ロボットアームの動作を前記人の操作により補正できる制御モードに切り替えた後に、前記ロボットアームに加えられた前記人の力と、動作中の前記ロボットアームの前記動作情報と、前記動作補正情報とから、前記人の操作によって前記ロボットアームの動作を変更するときの変更条件を変更条件設定部で設定し、
前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合に、前記動作情報取得部で取得した前記ロボットアームの位置と姿勢と速度と力のうちの少なくとも1つ以上の前記動作情報を動作補正部で補正し、
前記動作補正部により補正された前記動作情報に基づいて、前記ロボットアームの前記動作を制御するロボットアームの制御方法を提供する。
本発明の第23態様によれば、前記ロボットアームと、
前記ロボットアームの前記動作を制御する第1〜21のいずれか1つの態様に記載のロボットアームの制御装置を有するロボットを提供する。
前記ロボットアームの前記動作を制御する第1〜21のいずれか1つの態様に記載のロボットアームの制御装置を有するロボットを提供する。
本発明の第24態様によれば、ロボットアームの動作を制御して前記ロボットアームによる作業を行うロボットアームの制御プログラムであって、
前記動作に対応する、前記ロボットアームの位置と姿勢と速度と力のうちの少なくとも1つ以上の時系列の動作情報を動作情報取得部で取得するステップと、
前記動作情報の前記ロボットアームによる補正方法に関する動作補正情報を動作補正情報取得部で取得するステップと、
前記ロボットアームを前記動作情報に基づいて動作するとともに、前記ロボットアームの動作中に、前記ロボットアームに前記人の力が加えられることにより、前記ロボットアームが前記人の操作により動作を補正できないよう制御する制御モードから前記ロボットアームの動作を前記人の操作により補正できる制御モードに切り替えた後に、前記ロボットアームに加えられた前記人の力と、動作中の前記ロボットアームの前記動作情報と、前記動作補正情報とから、前記人の操作によって前記ロボットアームの動作を変更するときの変更条件を変更条件設定部で設定するステップと、
前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合に、前記動作情報取得部で取得した前記ロボットアームの位置と姿勢と速度と力のうちの少なくとも1つ以上の前記動作情報を補正するステップと、
前記動作補正部により補正された前記動作情報に基づいて、前記ロボットアームの前記動作を制御するステップとをコンピュータに実行させるためのロボットアームの制御プログラムを提供する。
前記動作に対応する、前記ロボットアームの位置と姿勢と速度と力のうちの少なくとも1つ以上の時系列の動作情報を動作情報取得部で取得するステップと、
前記動作情報の前記ロボットアームによる補正方法に関する動作補正情報を動作補正情報取得部で取得するステップと、
前記ロボットアームを前記動作情報に基づいて動作するとともに、前記ロボットアームの動作中に、前記ロボットアームに前記人の力が加えられることにより、前記ロボットアームが前記人の操作により動作を補正できないよう制御する制御モードから前記ロボットアームの動作を前記人の操作により補正できる制御モードに切り替えた後に、前記ロボットアームに加えられた前記人の力と、動作中の前記ロボットアームの前記動作情報と、前記動作補正情報とから、前記人の操作によって前記ロボットアームの動作を変更するときの変更条件を変更条件設定部で設定するステップと、
前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合に、前記動作情報取得部で取得した前記ロボットアームの位置と姿勢と速度と力のうちの少なくとも1つ以上の前記動作情報を補正するステップと、
前記動作補正部により補正された前記動作情報に基づいて、前記ロボットアームの前記動作を制御するステップとをコンピュータに実行させるためのロボットアームの制御プログラムを提供する。
本発明の第25態様によれば、ロボットアームの動作を制御して前記ロボットアームによる作業を行うロボットアームを制御する集積電子回路であって、
前記動作に対応する、前記ロボットアームの位置と姿勢と速度と力のうちの少なくとも1つ以上の時系列の動作情報を動作情報取得部で取得し、
前記動作情報の前記ロボットアームによる補正方法に関する動作補正情報を動作補正情報取得部で取得し、
前記ロボットアームを前記動作情報に基づいて動作するとともに、前記ロボットアームの動作中に、前記ロボットアームに前記人の力が加えられることにより、前記ロボットアームが前記人の操作により動作を補正できないよう制御する制御モードから前記ロボットアームの動作を前記人の操作により補正できる制御モードに切り替えた後に、前記ロボットアームに加えられた前記人の力と、動作中の前記ロボットアームの前記動作情報と、前記動作補正情報とから、前記人の操作によって前記ロボットアームの動作を変更するときの変更条件を変更条件設定部で設定し、
前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合に、前記動作情報取得部で取得した前記ロボットアームの位置と姿勢と速度と力のうちの少なくとも1つ以上の前記動作情報を動作補正部で補正し、
前記動作補正部により補正された前記動作情報に基づいて、前記ロボットアームの前記動作を制御するロボットアームの集積電子回路を提供する。
前記動作に対応する、前記ロボットアームの位置と姿勢と速度と力のうちの少なくとも1つ以上の時系列の動作情報を動作情報取得部で取得し、
前記動作情報の前記ロボットアームによる補正方法に関する動作補正情報を動作補正情報取得部で取得し、
前記ロボットアームを前記動作情報に基づいて動作するとともに、前記ロボットアームの動作中に、前記ロボットアームに前記人の力が加えられることにより、前記ロボットアームが前記人の操作により動作を補正できないよう制御する制御モードから前記ロボットアームの動作を前記人の操作により補正できる制御モードに切り替えた後に、前記ロボットアームに加えられた前記人の力と、動作中の前記ロボットアームの前記動作情報と、前記動作補正情報とから、前記人の操作によって前記ロボットアームの動作を変更するときの変更条件を変更条件設定部で設定し、
前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合に、前記動作情報取得部で取得した前記ロボットアームの位置と姿勢と速度と力のうちの少なくとも1つ以上の前記動作情報を動作補正部で補正し、
前記動作補正部により補正された前記動作情報に基づいて、前記ロボットアームの前記動作を制御するロボットアームの集積電子回路を提供する。
以下、本発明の実施の形態について図面を用いて詳細に説明する。
(第1実施形態)
まず、本発明の第1実施形態におけるロボットアームの制御装置を備えるロボットシステム1の構成について説明する。図1及び図2は、本発明の第1実施形態におけるロボットアーム5及びその制御装置70を備えるロボットシステム1の概要を示す図である。
(第1実施形態)
まず、本発明の第1実施形態におけるロボットアームの制御装置を備えるロボットシステム1の構成について説明する。図1及び図2は、本発明の第1実施形態におけるロボットアーム5及びその制御装置70を備えるロボットシステム1の概要を示す図である。
図1に示すように、ロボットシステム1のロボットアーム5は、例えば家庭内のキッチン又はテーブルなどの作業台7の壁面7aに設置される。ロボットアーム5の基端5aが、壁面7aに固定されたレール8に対して移動可能な状態で支持され、ロボットアーム5がレール8上に沿って横方向(例えば水平方向)に、人4の力により、移動可能としている。
ロボットシステム1は、例えば、ロボットアーム5を使用して、鍋3の中の具材をかき混ぜる作業、又は、キッチンの汚れ91をふき取る作業などの家庭内において、ロボットアーム5と人4が協働して行う。図1は一例として、鍋3のかき混ぜ作業を行うロボットシステムである。
まず、人4がロボットシステム1のロボットアーム5を直接把持し、人4がロボットアーム5に力を加える。そして、人4からロボットアーム5に加えられた力により、ロボットアーム5がレール8に沿って移動し、例えば鍋などの調理器具3の付近までロボットアーム5が誘導される。
次に、人4が、ロボットシステム1のロボットアーム5の先端のハンド30に、かき混ぜ作業のためのレードルなどの調理用具9又は拭き掃除作業のためのスポンジなどの掃除用具46(図9参照)を取り付ける。
次に、IHクッキングヒーター又はガスコンロなどの調理装置6の側面などに配置されている、ロボットシステム1の操作盤13のボタン13aを人4が押すなどして、人4が、データ入力IF26を使用することにより、ロボットアーム5に動作開始指令を入力すると、ロボットアーム5が作動し、予め選択された作業、すなわち、かき混ぜ作業又は拭き掃除作業を開始させる。
以下、一例として、まず、ロボットアーム5により、かき混ぜ作業を行う場合について説明する。
ロボットアーム5がハンド30で把持したレードル9により鍋3の中でかき混ぜているとき、人4がかき混ぜている具材の状態を確認し、人4がロボットシステム1のロボットアーム5を直接把持して、補正したい方向に力を加えることで、ロボットシステム1のロボットアーム5の動作を補正する。
レール8は、作業台7の壁面7aに配置したが、壁面の無いアイランドキッチンの場合は、天井面又はアイランドキッチンの天板側面など作業をするのに適した場所に設置することができる。
さらに、操作盤13は、調理装置6の側面に固定したが、操作盤13に代えて、遠隔操作が可能なリモコンでも良い。
図2はロボットシステム1を構成する、制御対象であるロボットアーム5と、ロボットアーム5の制御装置70との詳細構成を示す図である。ロボットアーム5の制御装置70は、図2に示すように、制御装置本体部11と、ロボットアーム5の動作を生成する動作生成装置12と、周辺装置14とを備えている。
−ロボットアーム−
この第1実施形態のロボットアーム5は、一例として、6自由度の多リンクマニピュレータで構成される多関節ロボットアームとする。ロボットアーム5は、ハンド30と、ハンド30が取り付けられている手首部31を先端32aに有する前腕リンク32と、前腕リンク32の基端32bに回転可能に先端33aが連結される上腕リンク33と、上腕リンク33の基端33bが回転可能に連結支持される台部34とを備えている。台部34は、移動可能なレール8に連結されているが、一定位置に固定されていても良い。手首部31は、第4関節部38と、第5関節部39と、第6関節部40との3つの回転軸を有しており、前腕リンク32に対するハンド30の相対的な姿勢(向き)を変化できる。すなわち、図2において、第4関節部38は、手首部31に対するハンド30の横軸(ψ)周りの相対的な姿勢を変化できる。第5関節部39は、手首部31に対するハンド30の、第4関節部38の横軸とは直交する縦軸(Φ)周りの相対的な姿勢を変化させることができる。第6関節部40は、手首部31に対するハンド30の、第4関節部38の横軸(ψ)及び第5関節部39の縦軸(φ)とそれぞれ直交する横軸(θ)周りの相対的な姿勢を変化できる。前腕リンク32の他端は、上腕リンク33の先端に対して第3関節部37周りに、すなわち、第4関節部38の横軸と平行な横軸周りに回転可能とする。上腕リンク33の他端は、台部34に対して第2関節部36周りに、すなわち、第4関節部38の横軸と平行な横軸周りに回転可能とする。さらに、台部34の上側可動部34aは、台部34の下側固定部34bに対して第1関節部35周りに、すなわち、第5関節部39の縦軸と平行な縦軸周りに回転可能としている。
この第1実施形態のロボットアーム5は、一例として、6自由度の多リンクマニピュレータで構成される多関節ロボットアームとする。ロボットアーム5は、ハンド30と、ハンド30が取り付けられている手首部31を先端32aに有する前腕リンク32と、前腕リンク32の基端32bに回転可能に先端33aが連結される上腕リンク33と、上腕リンク33の基端33bが回転可能に連結支持される台部34とを備えている。台部34は、移動可能なレール8に連結されているが、一定位置に固定されていても良い。手首部31は、第4関節部38と、第5関節部39と、第6関節部40との3つの回転軸を有しており、前腕リンク32に対するハンド30の相対的な姿勢(向き)を変化できる。すなわち、図2において、第4関節部38は、手首部31に対するハンド30の横軸(ψ)周りの相対的な姿勢を変化できる。第5関節部39は、手首部31に対するハンド30の、第4関節部38の横軸とは直交する縦軸(Φ)周りの相対的な姿勢を変化させることができる。第6関節部40は、手首部31に対するハンド30の、第4関節部38の横軸(ψ)及び第5関節部39の縦軸(φ)とそれぞれ直交する横軸(θ)周りの相対的な姿勢を変化できる。前腕リンク32の他端は、上腕リンク33の先端に対して第3関節部37周りに、すなわち、第4関節部38の横軸と平行な横軸周りに回転可能とする。上腕リンク33の他端は、台部34に対して第2関節部36周りに、すなわち、第4関節部38の横軸と平行な横軸周りに回転可能とする。さらに、台部34の上側可動部34aは、台部34の下側固定部34bに対して第1関節部35周りに、すなわち、第5関節部39の縦軸と平行な縦軸周りに回転可能としている。
この結果、ロボットアーム5は、合計6個の軸周りに回転可能として前記6自由度の多リンクマニピュレータを構成している。
各軸の回転部分を構成する各関節部には、モータ43のような回転駆動装置と、モータ43の回転軸の回転位相角(すなわち関節角)を検出するエンコーダ44を備えている。この第1実施形態のモータ43は、ロボットアーム5の各関節部の内部に配設されている。モータ43は、各関節部を構成する2つのリンク部材のうちの一方のリンク部材に備えられる後述するモータドライバ25により駆動制御される。各関節部の一つのリンク部材の関節部に備えられたモータ43の回転軸が、他のリンク部材に連結されて、前記回転軸を正逆回転させることにより、前記他のリンク部材を前記一つのリンク部材に対して各軸周りに回転可能とする。
41は台部34の下側固定部34bに対して相対的な位置関係が固定された絶対座標系であり、42はハンド30に対して相対的な位置関係が固定された手先座標系である。絶対座標系41から見た手先座標系42の原点位置Oe(x,y,z)をロボットアーム5の手先位置(ハンド30の位置)とし、絶対座標系41から見た手先座標系42の姿勢をロール角とピッチ角とヨー角で表現した(φ,θ,ψ)をロボットアーム5の手先姿勢とし、手先位置及び姿勢ベクトルをベクトルr=[x,y,z,φ,θ,ψ]Tと定義する。
この第1実施形態では、絶対座標系35のZ軸を回転軸として、座標系を角度φだけ回転させた座標系を考える(図45A参照)。このときの座標軸を[X',Y',Z]とする。次に、この座標系を、Y'を回転軸として角度θだけ回転させる(図45B参照)。このときの座標軸を[X'',Y',Z'']とする。最後に、この座標系を、X''を回転軸として角度ψだけ回転させる(図45C参照)。このときの座標系の姿勢をロール角度φ、ピッチ角度θ、ヨー角度ψとし、このときの姿勢ベクトルは(φ,θ,ψ)となる。姿勢(φ,θ,ψ)の座標系が原点位置を手先座標系42の原点位置Oe(x,y,z)に平行移動した座標系と、手先座標系42が一致する場合、手先座標系の姿勢ベクトルは(φ,θ,ψ)であるとする。
ロボットアーム5の手先位置及び姿勢を制御する場合には、手先位置及び姿勢ベクトルrを後述する目標軌道生成部55で生成された手先位置及び姿勢目標ベクトルrdに追従させることになる。
ロボットアーム5の動作を制御するため、動作生成装置12と、制御装置本体部11と、周辺装置14とのそれぞれの動作が実行されることにより、ロボットアーム5の各関節部の、後述するエンコーダ44より出力される各関節角度情報が、入出力IF24のカウンタボードを通じて制御装置本体部11に取り込まれ、取り込まれた各関節角度情報に基づき制御装置本体部11によって各関節部の回転動作での制御指令値が算出される。算出された各制御指令値は、入出力IF24のD/Aボードを通じて、ロボットアーム5の各関節部を駆動制御するためのモータドライバ25に与えられ、モータドライバ25から送られた各制御指令値に従って、ロボットアーム5の各関節部のモータ43が駆動される。また、モータドライバ25により駆動制御されるハンド駆動装置の一例としてハンド駆動用のモータ62と、ハンド駆動用のモータ62の回転軸の回転位相角を検出するエンコーダ61とを、さらに、ハンド30に備えて、エンコーダ61で検出された回転角度情報が、入出力IF24のカウンタボードを通じて制御装置本体部11に取り込まれ、取り込まれた回転角度情報を基に、制御装置本体部11の制御部22のハンド制御部54(図3に図示)によってハンド30の開閉動作での制御指令値が算出される。算出された制御指令値は、入出力IF24のD/Aボードを通じて、ハンド30の開閉駆動も行うモータドライバ25に与えられ、モータドライバ25から送られた各制御指令値に従って、モータ62の回転を駆動制御して、ハンド駆動用のモータ62の回転軸を正逆回転させることにより、ハンド30を開閉させる。
制御装置本体部11及び動作生成装置12及び周辺装置14は、一例として、それぞれ一般的なパーソナルコンピュータにより構成される。
(動作生成装置12)
動作生成装置12は、動作情報取得部の一例として機能する動作情報データベース17と、動作補正情報取得部の一例として機能する動作補正情報データベース18と、動作指令部27と、動作補正部20と、変更条件設定部82と、動作記憶部15とを有するように構成される。動作補正部20と制御パラメータ管理部21との間及び変更条件設定部82と制御パラメータ管理部21との間では、それぞれ、ロボットアーム5の手先位置及び姿勢の情報と、人4の加えられた力の情報と、動作指令などが入出力される。制御パラメータ管理部21により、ロボットアーム5の手先位置及び姿勢と人4からロボットアーム5に加えられた力の情報などが動作記憶部15に出力される。ロボットアーム5の手先位置及び姿勢の情報と、人4の加えられた力の情報などが補正方法種別決定部23に出力される。なお、動作生成装置12における各制御モード((i)位置制御モード、(ii)インピーダンス制御モード、(iii)ハイブリッドインピーダンス制御モード、(v)力ハイブリッドインピーダンス制御モード)の詳細については、制御装置本体部11の制御パラメータ管理部21にて後述する
動作生成装置12は、動作情報取得部の一例として機能する動作情報データベース17と、動作補正情報取得部の一例として機能する動作補正情報データベース18と、動作指令部27と、動作補正部20と、変更条件設定部82と、動作記憶部15とを有するように構成される。動作補正部20と制御パラメータ管理部21との間及び変更条件設定部82と制御パラメータ管理部21との間では、それぞれ、ロボットアーム5の手先位置及び姿勢の情報と、人4の加えられた力の情報と、動作指令などが入出力される。制御パラメータ管理部21により、ロボットアーム5の手先位置及び姿勢と人4からロボットアーム5に加えられた力の情報などが動作記憶部15に出力される。ロボットアーム5の手先位置及び姿勢の情報と、人4の加えられた力の情報などが補正方法種別決定部23に出力される。なお、動作生成装置12における各制御モード((i)位置制御モード、(ii)インピーダンス制御モード、(iii)ハイブリッドインピーダンス制御モード、(v)力ハイブリッドインピーダンス制御モード)の詳細については、制御装置本体部11の制御パラメータ管理部21にて後述する
−動作情報データベース−
動作情報データベース17は、ロボットアーム5の、ある時間におけるロボットアーム5の手先位置及び姿勢などの動作に関する情報(動作情報)である。動作情報は動作記憶部15により記録される。動作情報データベース17は、動作指令部27との間で動作情報が入出力されるとともに、動作補正部20との間で動作情報が入出力され、動作記憶部15により主々の動作情報が入力され記憶される。また、動作情報データベース17は、変更条件設定部82との間で動作情報が入出力され、動作記憶部15により主々の動作情報が入力され記憶される。変更条件設定部82から動作補正部20へは、変更条件設定部82で設定した変更条件が入力される。動作指令部27から変更条件設定部82へは、動作補正開始の指令が入力される。
動作情報データベース17は、ロボットアーム5の、ある時間におけるロボットアーム5の手先位置及び姿勢などの動作に関する情報(動作情報)である。動作情報は動作記憶部15により記録される。動作情報データベース17は、動作指令部27との間で動作情報が入出力されるとともに、動作補正部20との間で動作情報が入出力され、動作記憶部15により主々の動作情報が入力され記憶される。また、動作情報データベース17は、変更条件設定部82との間で動作情報が入出力され、動作記憶部15により主々の動作情報が入力され記憶される。変更条件設定部82から動作補正部20へは、変更条件設定部82で設定した変更条件が入力される。動作指令部27から変更条件設定部82へは、動作補正開始の指令が入力される。
次に動作情報データベース17の詳細について説明する。
動作情報データベース17は、例えば、図4A及び図4Bに示したロボットアーム5の動作に関する情報(動作情報)が動作記憶部15により記憶される。動作情報の具体例として、以下に示す。
(1)作業を識別する作業ID番号(図4A及び図4Bの「作業ID」の欄参照)。
(2)作業の中の個々の動作を識別する動作ID番号(図4A及び図4Bの「動作ID」の欄参照)。
(3)動作におけるロボットアーム5の手先位置及び姿勢に関する情報(図4A及び図4Bの「位置姿勢」の欄参照)。
(4)ロボットアーム5が作業をする際に対象となる物体に加える力に関する情報(図4A及び図4Bの「力」の欄参照)。
(5)ロボットアーム5の手先位置及び姿勢及び力のパラメータのうちのいずれの情報が有効かを示すフラグに関する情報(図4A及び図4Bの「フラグ」の欄参照)。
(6)ハンド30が開閉しているか否かのハンド開閉状態を表す情報(図4A及び図4Bの「ハンド」の欄参照)。
(7)各動作が作用する時間に関する情報(図4A及び図4Bの「時間」の欄参照)。
(8)後述する動作補正部20及び変更条件設定部82による動作情報データベース17の動作情報を補正する際の補正すべきパラメータの種別に関する情報(図4A及び図4Bの「補正パラメータフラグ」の欄参照)。
(9)ロボットアーム5の動作が動作中か否かを示す進捗情報(図4A及び図4Bの「進捗情報」の欄参照)。
ここで、作業IDは、作業に関する情報を識別するために用いられる符号であり、動作IDは、動作に関する情報を識別するために用いられる符号である。
図4A及び図4Bの動作情報データベース17の「位置姿勢」、すなわち、ロボットアーム5の手先位置及び姿勢に関する情報は、前述したロボットアーム5の手先位置及び姿勢を表し、原点位置Oeと姿勢から、(x,y,z,φ,θ,ψ)と表す。
力に関する情報は、ロボットアーム5が作業をする際に対象となる物体に加える力に関する情報を示し、力のx、y、z、φ、θ、ψ方向の成分を(fx,fy,fz,fφ,fθ,fψ)と表す。例えば、fz=5[N]である場合は、z軸方向に5[N]の力を加えて、作業することを表す。具体的には、IHクッキングヒータ6などの天板を拭き掃除作業する際に、天板の表面に力を加えて擦る場合などに使用する。
図4A及び図4Bの動作情報データベースの「フラグ」に関する情報は、各「動作ID」が示す動作情報に基づくロボットアーム5の手先位置及び姿勢及び力のうちのいずれの情報が有効かを示す値である。具体的には、図5で示した32ビットの数値で表す。図5において、それぞれのビットで、手先位置及び姿勢及び力のそれぞれの値が有効の場合は「1」とし、手先位置及び姿勢及び力のそれぞれの値が無効の場合は「0」とする。例えば、0ビット目において、ロボットアーム5の手先位置のx座標の値が有効の場合は「1」とし、無効の場合は「0」とする。また、1ビット目において、ロボットアーム5の手先位置のy座標の値が有効の場合は「1」とし、無効の場合は「0」とする。また、2ビット目において、ロボットアーム5の手先位置のz座標の値が有効の場合は「1」とし、無効の場合は「0」とする。以後、順次、3,4,5ビット目は姿勢のφ、θ、ψの有効性を表す(すなわち、有効の場合は「1」とし、無効の場合は「0」とする。)。さらに、6ビット目〜11ビット目においては、力のそれぞれの成分が有効か無効かを示す(すなわち、有効の場合は「1」とし、無効の場合は「0」とする。)。また、フラグに関する情報は、将来の拡張用に多め(32ビット)に用意しているため、この例では12ビット目から31ビット目は使用しないので、「0」を入れておくが、12ビットのみ格納できる変数としても良い。図5では、0ビット目から1ビット目、及び3ビット目から5ビット目、及び8ビット目が「1」となっているので、動作情報の手先位置及び姿勢情報うち、x、y、φ、θ、ψ情報及び力情報のうちfzのみが有効であることを示している。この結果、動作情報のうち、2ビット目、6〜7ビット目、及び9〜11ビット目が「0」となっているので、z、fx、fy、fφ、fθ、fψの値にどういう値が記憶されていても無効であるとする。
図4A及び図4Bの動作情報データベース17のハンド30が開閉しているか否かの情報である「ハンド」に関する情報は、ロボットアーム5の動作中のハンド30開閉の有無を表すフラグとし、ハンド30が開いている場合は「0」と記載し、閉じている場合は「1」と記載する。
図4A及び図4Bの動作情報データベース17の「時間」に関する情報は、ロボットアーム5の各動作を実行するための時間であり、この「動作ID」に記憶された動作を、ここでの「時間」に関する情報として記憶された時間をかけて行うことを表す。すなわち、絶対時刻ではなく、前の動作からの相対時間を表す。すなわち、「動作ID」が示す「位置姿勢」に、ロボットアーム5のハンド30が移動するまでの時間又は「動作ID」が示す「力」になるまでの時間を表す。
図4A及び図4Bの動作情報データベース17の「補正パラメータフラグ」に関する情報は、後述する動作補正部20及び変更条件設定部82で、どのパラメータを補正するかを表す情報である。具体的には、図6に示した32ビットの数値で表す。図6において、それぞれのビットで、手先位置及び姿勢及び力のそれぞれの値の補正が可能な場合は「1」とし、手先位置及び姿勢及び力のそれぞれの値の補正が不可能な場合は「0」とする。例えば、0ビット目においては、手先位置のx座標の値の補正が可能な場合は「1」とし、手先位置のx座標の値の補正が不可能な場合は「0」とする。また、1ビット目においては、手先位置のy座標の値の補正が可能な場合は「1」とし、手先位置のy座標の値の補正が不可能な場合は「0」とする。また、2ビット目においては、手先位置のz座標の値の補正が可能な場合は「1」とし、手先位置のz座標の値の補正が不可能な場合は「0」とする。以後、順次、3,4,5ビット目は、姿勢のφ、θ、ψの補正可能性を表す(すなわち、補正が可能な場合は「1」とし、補正が不可能な場合は「0」とする。)。さらに、6ビット目〜11ビット目においては、力のそれぞれの成分の補正可能性を示す(すなわち、補正可能の場合は「1」とし、補正不可能の場合は「0」とする。)。また、フラグに関する情報は、将来の拡張用に多め(32ビット)に用意しているため、この例では、12ビット目から31ビット目は使用しないので、「0」を入れておくが、12ビットのみ格納できる変数としても良い。
図4A及び図4Bの動作情報データベース17の「進捗情報」に関する情報は、実行動作中の動作であるかどうかを示す情報であり、実行中の動作である場合は「1」とし、実行中の動作でない場合は「0」として、動作記憶部15により動作情報データベース17に記憶する。具体的には、人4は、動作指令部27によって、作業が開始されると、その作業の各動作のうち、現在動作(実行)中の動作については「1」を動作記憶部15により記憶し、現在動作(実行)していない動作については「0」を動作記憶部15により記憶する。
-動作指令部-
動作指令部27には、人4がデータ入力IF26により指定した「作業ID」の作業の動作開始の指令が入力される。動作指令部27は、指定された「作業ID」の作業の動作開始の指令を受けて、指定された「作業ID」の作業の動作を開始させる。具体的には、動作中の「動作ID」の「進捗情報」に「1」を動作指令部27により設定し、動作記憶部15により動作情報データベース17に記憶する。その他の「動作ID」の「進捗情報」については「0」を動作指令部27に設定し、動作記憶部15により動作情報データベース17に記憶する。動作指令部27により指令された作業IDの作業の全ての動作は、「動作ID」の番号の小さいものから、順番に実行され、一番最後の動作まで実行されると、その「作業ID」の先頭の「動作ID」の動作に戻り、一連の動作を繰り返し実行する。
動作指令部27には、人4がデータ入力IF26により指定した「作業ID」の作業の動作開始の指令が入力される。動作指令部27は、指定された「作業ID」の作業の動作開始の指令を受けて、指定された「作業ID」の作業の動作を開始させる。具体的には、動作中の「動作ID」の「進捗情報」に「1」を動作指令部27により設定し、動作記憶部15により動作情報データベース17に記憶する。その他の「動作ID」の「進捗情報」については「0」を動作指令部27に設定し、動作記憶部15により動作情報データベース17に記憶する。動作指令部27により指令された作業IDの作業の全ての動作は、「動作ID」の番号の小さいものから、順番に実行され、一番最後の動作まで実行されると、その「作業ID」の先頭の「動作ID」の動作に戻り、一連の動作を繰り返し実行する。
動作情報データベース17のロボットアーム5の手先の位置姿勢及び時間の情報は、例えば、図7に示すように、ロボットアーム5を人4が直接把持して、後述するインピーダンス制御モードにて、ロボットアーム5を移動させて、ある一定時間毎(例えば0.2msec毎)にロボットアーム5の手先位置及び姿勢の情報を取得し、時間と共に、動作記憶部15により動作情報データベース17に記憶することにより作成する。さらに、動作情報データベース17の力の情報は、データ入力IF26で加えたい力の値を入力することにより作成する。なお、図7において、3は調理器具の一例としての鍋、9はハンド30で把持されて鍋3をかき混ぜるための調理用具の一例としてのレードルである。
-動作補正情報データベース-
次に、動作補正情報データベース18の詳細について説明する。
次に、動作補正情報データベース18の詳細について説明する。
動作補正情報データベース18は、例えば、図12Aに示したロボットアーム5の動作の補正方法に関する情報(動作補正情報)である。動作補正情報の具体例として、動作補正情報を識別するIDである動作補正情報ID番号(図12Aの「動作補正情報ID」の欄参照)と、補正区間に関する情報(図12Aの「補正区間」の欄参照)であり、動作情報で動作が開始されている最中に、人4がロボットアーム5の操作を開始した時刻からの相対時間を表す開始時間に関する情報(図12Aの「開始時間」の欄参照)と、人4がロボットアーム5の操作を終了する直前の時間に関する情報(図12Aの「終了時間」の欄参照)と、動作情報の補正方法に関する情報(図12Aの「補正方法」の欄参照)と、「動作補正情報ID」で示されたIDの動作補正情報をどの作業に適応するかを識別するための識別番号である「作業ID」(図12Aの「作業ID」の欄参照)を有するように構成される。「開始時間」及び「終了時間」は、それぞれ、図12Bに示すテーブルIDのいずれかのIDである。「作業ID」は動作情報データベース17の「作業ID」のいずれかの値であり、複数の作業に適応する補正情報である場合には、図12Aの「動作補正情報ID」「2」のように、「1,3」と複数のIDを記憶することができる。
-変更条件設定部-
変更条件設定部82は、ロボットアーム5の動作の変更条件(ロボットアーム5の補正動作を行うか否かも含むロボットアーム5の動作の変更条件)を設定する機能を有しており、例えば、ロボットアーム5の動作に対する人4の操作の意図を推定して、ロボットアーム5の動作に関する動作情報の目標値目標値(ロボットアーム5の動作により最終的に到達する手先位置又は姿勢などに関する値、又は、最終的に到達はしない手先位置又は姿勢など関する値であるが手先位置又は姿勢などを動作させるときに目標となる値)を推定する機能を持っている。変更条件設定部82は、動作情報データベース17の位置及び姿勢及び力及び時間との情報にて、後述するインピーダンス制御モード、若しくは位置制御モード、若しくは力制御モード、若しくはそれらを方向別に組み合わせた制御モード、のうち、いずれかのモードでのロボットアーム5の動作中に、データ入力IF26から動作指令部27を介して動作補正部20と共に動作補正開始の指令を受ける。すると、変更条件設定部82は、動作補正情報データベース18の動作補正情報に基づいて、人4がロボットアーム5に力を加えることで動作情報データベース17のロボットアーム5の動作情報を補正する際の、ロボットアーム5の動作情報の変更条件を設定する(例えば、目標値を推定する)機能を有している。
変更条件設定部82は、ロボットアーム5の動作の変更条件(ロボットアーム5の補正動作を行うか否かも含むロボットアーム5の動作の変更条件)を設定する機能を有しており、例えば、ロボットアーム5の動作に対する人4の操作の意図を推定して、ロボットアーム5の動作に関する動作情報の目標値目標値(ロボットアーム5の動作により最終的に到達する手先位置又は姿勢などに関する値、又は、最終的に到達はしない手先位置又は姿勢など関する値であるが手先位置又は姿勢などを動作させるときに目標となる値)を推定する機能を持っている。変更条件設定部82は、動作情報データベース17の位置及び姿勢及び力及び時間との情報にて、後述するインピーダンス制御モード、若しくは位置制御モード、若しくは力制御モード、若しくはそれらを方向別に組み合わせた制御モード、のうち、いずれかのモードでのロボットアーム5の動作中に、データ入力IF26から動作指令部27を介して動作補正部20と共に動作補正開始の指令を受ける。すると、変更条件設定部82は、動作補正情報データベース18の動作補正情報に基づいて、人4がロボットアーム5に力を加えることで動作情報データベース17のロボットアーム5の動作情報を補正する際の、ロボットアーム5の動作情報の変更条件を設定する(例えば、目標値を推定する)機能を有している。
-動作補正部-
動作補正部20は、動作情報データベース17の位置及び姿勢及び力及び時間との情報にて、後述するインピーダンス制御モード、若しくは位置制御モード、若しくは力制御モード、若しくはそれらを方向別に組み合わせた制御モード、のうち、いずれかのモードでのロボットアーム5の動作中に、データ入力IF26から動作指令部27を介して動作補正部20で動作補正開始の指令を受ける。すると、動作補正部20は、変更条件設定部82で設定した変更条件(例えば、推定した動作情報の目標値)に従って、動作情報データベース17のロボットアーム5の動作情報を補正する機能を有している。なお、動作補正部20は、変更条件設定部82の機能をも備えることも考えられるが、本願明細書では、前記したように機能別に動作補正部20と変更条件設定部82とに分けて構成している。
動作補正部20は、動作情報データベース17の位置及び姿勢及び力及び時間との情報にて、後述するインピーダンス制御モード、若しくは位置制御モード、若しくは力制御モード、若しくはそれらを方向別に組み合わせた制御モード、のうち、いずれかのモードでのロボットアーム5の動作中に、データ入力IF26から動作指令部27を介して動作補正部20で動作補正開始の指令を受ける。すると、動作補正部20は、変更条件設定部82で設定した変更条件(例えば、推定した動作情報の目標値)に従って、動作情報データベース17のロボットアーム5の動作情報を補正する機能を有している。なお、動作補正部20は、変更条件設定部82の機能をも備えることも考えられるが、本願明細書では、前記したように機能別に動作補正部20と変更条件設定部82とに分けて構成している。
以下、動作補正部20と変更条件設定部82の機能について説明する。
人4は、データ入力IF26により、動作情報データベース17の作業の中の「作業ID」に関する作業の中からロボットアーム5に実行させたい作業を選択して、選択情報を動作指令部27に入力して指定する。人4がデータ入力IF26により指定した「作業ID」の作業の作業選択の指令を変更条件設定部82と動作指令部27が受けて、動作指令部27から変更条件設定部82と動作補正部20とに作業選択の指示を行う。動作補正部20は、動作情報データベース17の中から選択された「作業ID」の作業の動作情報(具体的には、位置の情報と、姿勢の情報と、時間の情報と、力の情報)を、フラグに従って、制御モードを設定して動作するように、制御パラメータ管理部21へ指令を出す。
人4は、データ入力IF26により、動作情報データベース17の作業の中の「作業ID」に関する作業の中からロボットアーム5に実行させたい作業を選択して、選択情報を動作指令部27に入力して指定する。人4がデータ入力IF26により指定した「作業ID」の作業の作業選択の指令を変更条件設定部82と動作指令部27が受けて、動作指令部27から変更条件設定部82と動作補正部20とに作業選択の指示を行う。動作補正部20は、動作情報データベース17の中から選択された「作業ID」の作業の動作情報(具体的には、位置の情報と、姿勢の情報と、時間の情報と、力の情報)を、フラグに従って、制御モードを設定して動作するように、制御パラメータ管理部21へ指令を出す。
具体的には、図4Aの「作業ID」が「1」の作業が選択された場合は、「作業ID」が「1」でかつ「動作ID」が「1」の動作の場合には、「フラグ」が0、1、3、4、5ビット目が「1」なので、ロボットアーム5の手先位置のx、y、φ、θ、ψが有効ということを示している。よって、x、y、φ、θ、ψについては位置制御モードで動作させ、z軸については「フラグ」の8ビット目が「1」なので、力制御モードで動作するように、動作補正部20から制御パラメータ管理部21へ指令を出す(力ハイブリッドインピーダンス制御の指令と同等)。
同様に図4Bの「作業ID」が「2」の作業が選択された場合には、「作業ID」が「2」でかつ「動作ID」が「1」の動作の場合には、「フラグ」が0〜5ビット目が「1」なので、x、y、z、φ、θ、ψ軸全ての軸について、位置制御モードで動作するように、動作補正部20から制御パラメータ管理部21へ指令を出す。
次に、人4が、選択した作業の動作開始の命令をデータ入力IF26にて動作指令部27に指令する。
「作業ID」が「1」である作業が選択された場合は、動作指令部27から変更条件設定部82と動作補正部20とが指令を受けて、動作補正部20は、z軸方向を力制御モードで、その他の軸は位置制御モードで作業するように制御パラメータ管理部21へ指令を出す。すると、図9に示すように、ロボットアーム5は、IHクッキングヒータ6などの天板の拭き掃除作業を開始する。
「作業ID」が「2」である作業が選択された場合は、動作指令部27から変更条件設定部82と動作補正部20とが指令を受けて、動作補正部20は、位置制御モードでかき混ぜ動作をするように制御パラメータ管理部21へ指令を出す。すると、図8Aに示すように、ロボットアーム5はかき混ぜ動作を開始する。
人4が鍋3の具材の状況などを確認して、図8Cに示すように、ロボットアーム5のハンド30に把持したレードル9を、鍋3の上面から鍋底に向かって移動しながら鍋3内の材料を円状にかき混ぜ、さらに鍋底から鍋3の上面に向かって移動しながら鍋3内の材料を円状にかき混ぜする動作を繰り返しながらかき混ぜるよう補正する場合を例にとって説明する。
人4が補正を開始したい場合は、データ入力IF26により補正開始の命令を動作指令部27に出す。動作指令部27は、データ入力IF26からの補正開始の指令を受けて、動作補正部20及び変更条件設定部82に補正開始を出力する。
動作補正部20は、データ入力IF26からの補正開始の指令を受けて、動作情報データベース17の補正パラメータフラグ及び変更条件設定部82で設定された前記変更条件にしたがって、制御モードを設定して動作するように、制御パラメータ管理部21へ指令を出す。
同様に、図4Bの「作業ID」が「2」の作業が動作中(進捗情報が「1」の動作)の「動作ID」の補正パラメータフラグが、図4Bでは、0,1,2ビット目のみ「1」でその他は「0」なので、ロボットアーム5の動作のうち、x、y、z軸のみ補正が可能ということを表す。したがって、x、y、z軸が人4の加えて力で補正ができるように、x、y、z軸について、位置制御モードからハイブリッドインピーダンス制御モード(位置制御モードで移動しながら、人4の力を検知した方向にインピーダンス制御で移動させるモード)で動作するように、動作補正部20は制御パラメータ管理部21へ指令を出す。
次に、図8Bに示すように、人4がロボットアーム5を直接把持して、鍋底を混ぜるように下方向に力をかけると、ハイブリッドインピーダンス制御モードにより、位置制御モードでロボットアーム5を移動させながら、インピーダンス制御モードにより、人4の力を検知して力をかけた方向にロボットアーム5をz軸方向に移動させることができる。人4は、上下に移動しながらx、y平面では円状にかき混ぜるよう補正したいことから、人4はロボットアーム5を図8Bに示すように、上下にロボットアーム5に力を加えて移動させる。
以上のような動作中の人4による補正において、特に、ロボットアーム5に対する操作開始時及び操作終了時に、人4の手先がぶれて、そのぶれも含めて補正してしまい、うまく動作補正をすることができない。これはロボットアーム5の動作が速くなるにつれて、ぶれも大きくなることが多い。
そこで、変更条件設定部82では、制御部22から制御パラメータ管理部21を介して、人4が補正を開始した時点から終了する時点までのロボットアーム5の手先位置及び姿勢の情報を、ある一定時間毎(例えば0.2秒毎)に取得する。具体例として、取得したデータを図13に示す。図13において、「ID」は、取得した各データを識別する識別番号、「位置姿勢」は、取得したロボットアーム5の手先の位置及び姿勢、「時間」は、人4が補正を開始した時点を0とし、その時点からの相対時間を表す。
次に、現在動作中の「作業ID」と同じIDの動作補正情報を動作補正情報データベース18の中から動作補正部20により検索する。この例では、図4Bの動作情報データベース17の「作業ID」の「2」で動作中なので、「作業ID」が「2」の動作補正情報は「動作補正情報ID」が「1」となる。「動作補正情報ID」が「1」の動作補正情報は、図12Aより、「開始時間」がテーブルIDの「1」、「終了時間」がテーブルID「2」、「補正方法」が「削除」である情報を、変更条件設定部82により取得する。この動作補正情報を使って、先ほど取得した図13のデータを変更条件設定部82により補正する。具体的には、動作補正部20により取得したデータのうち、「ID」の最も小さなIDを基準として、位置姿勢のそれぞれの方向別に速度を変更条件設定部82により算出する。具体的には、それぞれのIDにおける速度は、(今のIDの位置姿勢から−1つ前のIDの位置姿勢)/(今のIDの時間−1つ前のIDの時間)の式で変更条件設定部82により求める。変更条件設定部82により求めた速度は、図13の速度の欄に示す。次に、操作始めのID番号の速度、この例ではID「2」の速度が(0,0.5,0,0,0,0,)(m/s)であるので、方向別の最も早い速度が0.5(m/s)であるので、図12Aの「開始時間」は図12Bのテーブル「1」であるので、先ほど求めた速度0.5(m/s)は、0.3(m/s)以上であることから、開始時間3(s)となることを、変更条件設定部82により取得する。
次に、図13の「ID」が最も小さいIDを基準として、順番に経過時間を変更条件設定部82により算出し、その経過時間が先ほど算出した「開始時間」(この例では「3秒」)になるまでの区間を、動作補正情報の補正方法に記述した方法(この例では「削除」)で動作補正部20により補正する。図13の例では、「ID」が「1」から「11」までの経過時間が3秒なので、その区間のデータを動作補正部20により削除する。
次に「終了時間」を変更条件設定部82により算出する。具体的には、図12Aの「終了時間(テーブルID)」が図12Bのテーブルより「2」である。「テーブルID」の最も大きなIDの速度が、図13の例のうちの(0,0.25,0,0,0,0,)(m/s)において、方向別の最も早い速度が0.25(m/s)であるので、この0.25(m/s)の速度が、図12Bによれば、「テーブルID」が「2」であれば「0.2以上0.3未満」となることから、終了時間(「補正時間」)は1(秒)となる情報を、変更条件設定部82により取得する。
次に、変更条件設定部82により取得したデータのうち、「ID」の最も大きなIDを基準として、順番に遡って経過時間を変更条件設定部82により算出し、その経過時間が、変更条件設定部82により先ほど求めた「終了時間」(この例では「1秒」)になるまでの区間を動作補正情報の補正方法に記述した方法(この例では「削除」)で動作補正部20により補正する。図13の例では、「ID」が「25」から「20」までの経過時間が1秒なので、その区間のデータを動作補正部20により削除する。このようにして変更条件設定部82により取得した手先位置及び姿勢の情報を、変更条件設定部82から出力して、動作記憶部15により動作情報データベース17に記憶することで、図8Cのように、ロボットアーム先端のレードル9の動作を上下に移動しながら円状にかき混ぜるような動作に補正をすることができる。
なお、この例では、図12Aのように、補正開始直後の方が補正終了時より手振れが多く発生することが多いために、補正開始直後の方を補正終了時よりも長めに削除するようにテーブルを設定している。また、この例では、「テーブルID」を「1」若しくは「2」としているが、例えば、高齢者又は子供のように、ロボットアーム5がゆっくり動作していても手振れが多く発生する場合には、「テーブルID」を切り替えることによって、遅い速度でも削除する時間を長めに設定することができる。このとき、「高齢者」もしくは「子供」かどうかを識別するためには、データ入力IFにより「高齢者」もしくは「子供」かどうかを識別するIDを入力すればよい。逆に、動作中のロボットアーム5の速度が遅い場合に、ロボットアーム5を操作している人4がロボットアーム5を確実に操作ができる場合には、図12Bの補正時間を0秒と設定することで、補正をしないように設定することができる。
さらに、作業によっては、速く動作していても、あまり手振れをすることなく補正ができる場合、又は、逆に、ゆっくり動作していても手振れが多く発生する作業である場合は、作業ID毎にテーブルIDを切り替えることで、作業に適した補正時間を設定することが可能となる。このとき、前者の場合か又は後者の場合かは、自動的に判別は行わずに、図12Aのテーブルを作業IDに合わせて事前に用意しておけばよい。
以上により、動作補正情報を使った補正により、動作中のロボットアーム5の速度に応じて、補正のための操作開始時及び操作終了時に人4の手先がぶれて、そのぶれも含めて補正することを防ぐことができる。
なお、この例では、z軸の方向にのみ動作を補正したいので、図4Bの補正パラメータフラグの2ビット目のみを「1」にして、動作補正部20から制御パラメータ管理部21へ補正指令を出すことで、z軸方向にしかインピーダンス制御で動作しないように設定することができる。
以上により、変更条件設定部82及び動作補正部20は、動作情報データベース17の動作情報で動作している状態で、人4がロボットアーム5に力をかけることで、補正操作初期時及び補正操作終了時の人4の手先のぶれを省いて補正することができるようになる。
以上により、動作補正部20は、動作情報データベース17の動作情報で動作している状態で、人4がロボットアーム5に力をかけることで、補正操作初期時及び補正操作終了時の人4の手先のぶれを省いて補正することができるようになる。
−動作記憶部−
15は動作記憶部で、動作補正部20により補正した動作情報を動作情報データベース17に記憶する。さらに、動作記憶部15には、制御パラメータ管理部21からロボットアーム5の手先位置(ハンド30の位置)及び姿勢と人4がロボットアーム5にかけた力の情報が入力され、動作記憶部15で記憶する。
15は動作記憶部で、動作補正部20により補正した動作情報を動作情報データベース17に記憶する。さらに、動作記憶部15には、制御パラメータ管理部21からロボットアーム5の手先位置(ハンド30の位置)及び姿勢と人4がロボットアーム5にかけた力の情報が入力され、動作記憶部15で記憶する。
(制御装置本体部11)
制御装置本体部11は、制御パラメータ管理部21と、制御部22とを有するように構成される。制御部22と制御パラメータ管理部21との間では、ロボットアーム5の手先位置又は力の情報などが入出力される。
制御装置本体部11は、制御パラメータ管理部21と、制御部22とを有するように構成される。制御部22と制御パラメータ管理部21との間では、ロボットアーム5の手先位置又は力の情報などが入出力される。
−制御パラメータ管理部−
次に、制御パラメータ管理部21の詳細について説明する。
次に、制御パラメータ管理部21の詳細について説明する。
制御パラメータ管理部21は、動作補正部20の指示に基づいて、ロボットアーム5のハイブリッドインピーダンス制御モードと、力ハイブリッドインピーダンス制御モードと、高剛性位置制御モードとの3つのモードの間で制御モードを切り替える設定を行なう。また、制御パラメータ管理部21は、ハイブリッドインピーダンス制御モード時及び力ハイブリッドインピーダンス制御モード時の機械インピーダンス設定値の設定を行なう。また、制御パラメータ管理部21は、後述するインピーダンス計算部51で出力する手先位置及び姿勢目標補正出力rd△の設定及び目標軌道生成部55への動作情報の設定を行う。制御パラメータ管理部21は、動作補正部20の指示に基づいて、設定された制御モードに従ってロボットアーム5が動作するように、制御部22へ指令を出して、制御部22の制御の下にロボットアーム5を動作させる。さらに、制御パラメータ管理部21は、制御部22からロボットアーム5の手先位置又は力の情報などを動作補正部20及び変更条件設定部82へ通知を行う。
(i)位置制御モード
位置制御モードは、後述する目標軌道生成部55の手先位置と姿勢目標ベクトル指令とに基づいてロボットアーム5が作動するモードであり、人4がロボットアーム5に力を加えてもロボットアーム5は移動しないようにロボットアーム5の動作を制御する制御方法のモードである。具体的には、かき混ぜ作業又は拭き掃除作業などの作業時にロボットアーム5が動作するモードである。
位置制御モードは、後述する目標軌道生成部55の手先位置と姿勢目標ベクトル指令とに基づいてロボットアーム5が作動するモードであり、人4がロボットアーム5に力を加えてもロボットアーム5は移動しないようにロボットアーム5の動作を制御する制御方法のモードである。具体的には、かき混ぜ作業又は拭き掃除作業などの作業時にロボットアーム5が動作するモードである。
(ii)インピーダンス制御モード
インピーダンス制御モードは、力検出部53で検出され、かつ人4などからロボットアーム5に加わる力に応じて、ロボットアーム5が作動するようにロボットアーム5の動作を制御する制御方法のモードである。例えば、図7に示すように、人4がロボットアーム5を直接持って、作業場所(図7では鍋3の位置)までロボットアーム5を誘導する場合に動作するモードがインピーダンス制御モードである。
インピーダンス制御モードは、力検出部53で検出され、かつ人4などからロボットアーム5に加わる力に応じて、ロボットアーム5が作動するようにロボットアーム5の動作を制御する制御方法のモードである。例えば、図7に示すように、人4がロボットアーム5を直接持って、作業場所(図7では鍋3の位置)までロボットアーム5を誘導する場合に動作するモードがインピーダンス制御モードである。
(iii)ハイブリッドインピーダンス制御モード
ハイブリッドインピーダンス制御モードは、ロボットアーム5が位置制御モードで動作しているときに、ロボットアーム5に加わる力が力検出部53により検出され、かつ力検出部53で検出された力に応じて、ロボットアーム5が作動するようにロボットアーム5の動作を制御する制御方法のモードである。具体的には、ロボットアーム5が、図8Aに示すように、ロボットアーム5が位置制御モードによるかき混ぜ業を行っているときに、人4が鍋3の具材の状況を確認して、鍋3の中の底側の部分をかき混ぜるようにロボットアーム5の動作を人4が補正したい場合に、制御パラメータ管理部21が、ハイブリッドインピーダンス制御モードに切り替える指令を制御部22へ出力する。その結果、図8Bに示すように、人4がロボットアーム5を把持して、ハイブリッドインピーダンス制御モードで下方向に力をかけることで(図8Bの下向きの矢印参照)、水平方向を位置制御モードでかき混ぜながら、図8Cの下向きの矢印及び下側の回転方向の矢印で示すように、垂直方向すなわち鍋底をかき混ぜる動作に補正することができるようになる。このような制御方法がハイブリッドインピーダンス制御モードである。
ハイブリッドインピーダンス制御モードは、ロボットアーム5が位置制御モードで動作しているときに、ロボットアーム5に加わる力が力検出部53により検出され、かつ力検出部53で検出された力に応じて、ロボットアーム5が作動するようにロボットアーム5の動作を制御する制御方法のモードである。具体的には、ロボットアーム5が、図8Aに示すように、ロボットアーム5が位置制御モードによるかき混ぜ業を行っているときに、人4が鍋3の具材の状況を確認して、鍋3の中の底側の部分をかき混ぜるようにロボットアーム5の動作を人4が補正したい場合に、制御パラメータ管理部21が、ハイブリッドインピーダンス制御モードに切り替える指令を制御部22へ出力する。その結果、図8Bに示すように、人4がロボットアーム5を把持して、ハイブリッドインピーダンス制御モードで下方向に力をかけることで(図8Bの下向きの矢印参照)、水平方向を位置制御モードでかき混ぜながら、図8Cの下向きの矢印及び下側の回転方向の矢印で示すように、垂直方向すなわち鍋底をかき混ぜる動作に補正することができるようになる。このような制御方法がハイブリッドインピーダンス制御モードである。
(iv)力制御モード
力制御モードは、動作補正部20から制御パラメータ管理部21へ設定された力で対象物をロボットアーム5で押し付けながら動作するようにロボットアーム5の動作を制御する制御方法の制御モードである。例えば、図9のように、IHクッキングヒータ6などの天板を拭き掃除作業する際に、天板の表面に力を加えて擦るような拭き掃除作業の場合、又は、図10のように、鍋3の底に力を加えて擦るようなかき混ぜ作業の場合など、力を加えて制御する方向に使用する制御モードが力制御モードである。
力制御モードは、動作補正部20から制御パラメータ管理部21へ設定された力で対象物をロボットアーム5で押し付けながら動作するようにロボットアーム5の動作を制御する制御方法の制御モードである。例えば、図9のように、IHクッキングヒータ6などの天板を拭き掃除作業する際に、天板の表面に力を加えて擦るような拭き掃除作業の場合、又は、図10のように、鍋3の底に力を加えて擦るようなかき混ぜ作業の場合など、力を加えて制御する方向に使用する制御モードが力制御モードである。
(v)力ハイブリッドインピーダンス制御モード
力ハイブリッドインピーダンス制御モードは、6軸の方向別に、ハイブリッドインピーダンス制御モードか、インピーダンス制御モードか、位置制御モードか、を切り替え、さらに、指定した力を作用させて動作する力制御モードで動作させるようにロボットアーム5の動作を制御する制御方法のモードである。なお、力制御モードが設定された方向にインピーダンス制御モードを設定することはできない(力制御モードとインピーダンス制御モードは排他的な関係)。
力ハイブリッドインピーダンス制御モードは、6軸の方向別に、ハイブリッドインピーダンス制御モードか、インピーダンス制御モードか、位置制御モードか、を切り替え、さらに、指定した力を作用させて動作する力制御モードで動作させるようにロボットアーム5の動作を制御する制御方法のモードである。なお、力制御モードが設定された方向にインピーダンス制御モードを設定することはできない(力制御モードとインピーダンス制御モードは排他的な関係)。
(vi)力ハイブリッドインピーダンス制御モード
例えば、図9のようにIHクッキングヒータ6などの天板を拭き掃除作業する際に、掃除面に平行に円状に動作しながら、掃除面に垂直下向きに指定した力をかけて、拭き掃除をする場合には、力ハイブリッドインピーダンス制御モードを設定する。具体的には、(x,y,z,φ,θ,ψ)の6軸それぞれに以下の制御モードを設定する。すなわち、(x,y)成分がハイブリッドインピーダンス制御モード、(φ,θ,ψ)成分がインピーダンス制御モードで、z軸成分が力制御モードで動作する力ハイブリッドインピーダンス制御モードである。このように掃除面と水平な方向はハイブリッドインピーダンス制御モードとすることで、位置制御モードで動作している最中に、人4などからロボットアーム5に加わる力に応じて、ロボットアーム5を移動させることができる。さらに、(φ,θ,ψ)成分をインピーダンス制御モードとすることで、停止している状態で人4などからロボットアーム5に加わる力に応じて、ロボットアーム5の姿勢を変更することができるようになる。また、z軸成分を力制御モードに設定することで、指定された力で押し付けながら動作することができるようになる。又は、力ハイブリッドインピーダンス制御モードは、(x,y,z,φ,θ,ψ)の6軸のうち、z軸成分が力制御モードで、その他の軸は位置制御モードで動作させても良い。その場合は、衝突など不用意な力がロボットアーム5に加わっても、位置制御成分を誤って移動させることはない。
例えば、図9のようにIHクッキングヒータ6などの天板を拭き掃除作業する際に、掃除面に平行に円状に動作しながら、掃除面に垂直下向きに指定した力をかけて、拭き掃除をする場合には、力ハイブリッドインピーダンス制御モードを設定する。具体的には、(x,y,z,φ,θ,ψ)の6軸それぞれに以下の制御モードを設定する。すなわち、(x,y)成分がハイブリッドインピーダンス制御モード、(φ,θ,ψ)成分がインピーダンス制御モードで、z軸成分が力制御モードで動作する力ハイブリッドインピーダンス制御モードである。このように掃除面と水平な方向はハイブリッドインピーダンス制御モードとすることで、位置制御モードで動作している最中に、人4などからロボットアーム5に加わる力に応じて、ロボットアーム5を移動させることができる。さらに、(φ,θ,ψ)成分をインピーダンス制御モードとすることで、停止している状態で人4などからロボットアーム5に加わる力に応じて、ロボットアーム5の姿勢を変更することができるようになる。また、z軸成分を力制御モードに設定することで、指定された力で押し付けながら動作することができるようになる。又は、力ハイブリッドインピーダンス制御モードは、(x,y,z,φ,θ,ψ)の6軸のうち、z軸成分が力制御モードで、その他の軸は位置制御モードで動作させても良い。その場合は、衝突など不用意な力がロボットアーム5に加わっても、位置制御成分を誤って移動させることはない。
(vii)高剛性位置制御モード
高剛性位置制御モードは、ロボットアーム5の動作中の位置制御モードをさらに高剛性にした制御モードである。具体的には、後述する位置誤差補償部56でのゲインを大きくすることで実現し、人4が力をかけても、ロボットアーム5を容易に移動させることができないため、接触面からの抗力の影響を受けないため、人4がかけた力を正しく検出することができる。
高剛性位置制御モードは、ロボットアーム5の動作中の位置制御モードをさらに高剛性にした制御モードである。具体的には、後述する位置誤差補償部56でのゲインを大きくすることで実現し、人4が力をかけても、ロボットアーム5を容易に移動させることができないため、接触面からの抗力の影響を受けないため、人4がかけた力を正しく検出することができる。
これらの制御モードは、ロボットアーム5の動作の際に、ロボットアーム5の方向及び姿勢別にそれぞれ適切な制御モードを設定して動作させる。
さらに、人4が、ハイブリッドインピーダンス制御モード又は力ハイブリッドインピーダンスモードでロボットアーム5が動作中に、補正するパラメータに応じて、機械インピーダンスパラメータ又はインピーダンス計算部51で出力する手先位置及び姿勢目標補正出力rd△の設定を変更する。
機械インピーダンス設定値の設定パラメータとしては、慣性Mと粘性Dと剛性Kとがある。機械インピーダンス設定値の各パラメータの設定は、補正値を使って、以下の評価式に基づいて行う。
前記式(3)〜(5)中のKM、KD、KKはそれぞれゲインであり、それぞれある定数値である。
制御パラメータ管理部21は、前記式(3)〜(5)に基づき計算した機械インピーダンスパラメータの慣性Mと粘性Dと剛性Kとを制御部22へ出力する。
前記式(3)〜(5)により、例えば、図8Bのように、人4がロボットアーム5のハンド30で把持されたレードル9を使用して鍋3の中の上側の部分をかき混ぜている動作に対して、鍋3の中の底側の部分をかき混ぜるようロボットアーム5の動作を補正させたい場合に、ロボットアーム5のz軸以外の位置成分及び姿勢成分が簡単に動くと、ロボットアーム5の動作の補正作業がやりにくくなる。そこで、制御パラメータ管理部21により、ロボットアーム5のz軸以外の位置成分及び姿勢成分についてのみ、上述の補正値を高く(具体的には、例えば、上述の補正値の約10倍に)設定することで、ロボットアーム5の粘性D及び剛性Kが大きくなるように設定されることになり、ロボットアーム5の動きに抵抗感又は硬さが生じ、ロボットアーム5が動きにくくなる。
又は、別の方法として、インピーダンス計算部51から出力される手先位置及び姿勢目標補正出力rd△の各成分のうち、z軸以外の値を全て0にする方法がある。これによって、z軸以外は、人4の力で移動できなくなるため、誤操作を防ぐことができる。
さらに、上述したように、制御パラメータ管理部21から、動作記憶部15と動作補正部20と変更条件設定部82とに、ロボットアーム5の手先位置及び姿勢、人4の加えた力の情報とを通知する必要がある。そのため、制御部22から制御パラメータ管理部21にロボットアーム5の手先位置及び力の情報を受けると、制御パラメータ管理部21は、動作記憶部15と動作補正部20と変更条件設定部82とへ通知を行う。また、動作補正部20から制御パラメータ管理部21に入力された、位置及び姿勢と時間となどの動作情報を制御パラメータ管理部21から制御部22へ通知する。
−制御部−
次に、制御部22の詳細について、図3により説明する。制御部22は、目標軌道生成部55と、ハンド制御部54と、力検出部53と、インピーダンス計算部51と、位置制御系59(位置誤差補償部56と、近似逆運動学計算部57と、順運動学計算部58とを有する。)と、位置誤差計算部80とを有するように構成されている。力検出部53は、図3では制御部22の一部として図示しているが、制御部22とは別の構成としてもよい。
次に、制御部22の詳細について、図3により説明する。制御部22は、目標軌道生成部55と、ハンド制御部54と、力検出部53と、インピーダンス計算部51と、位置制御系59(位置誤差補償部56と、近似逆運動学計算部57と、順運動学計算部58とを有する。)と、位置誤差計算部80とを有するように構成されている。力検出部53は、図3では制御部22の一部として図示しているが、制御部22とは別の構成としてもよい。
ロボットアーム5からは、それぞれの関節軸のエンコーダ44により計測された関節角の現在値(関節角度ベクトル)ベクトルq=[q1,q2,q3,q4,q5,q6]Tが出力され、入出力IF24により制御部22に取り込まれる。ただし、q1,q2,q3,q4,q5,q6は、それぞれ、第1関節部35、第2関節部36、第3関節部37、第4関節部38、第5関節部39、第6関節部40の関節角度である。
目標軌道生成部55は、位置制御モード又はハイブリッドインピーダンス制御モードで、ロボットアーム5を動作するように、動作補正部20で生成されかつ制御パラメータ管理部21を介して目標軌道生成部55に入力された動作情報から、目標とする手先位置及び姿勢目標ベクトルrdを目標軌道生成部55により生成する。
具体的には、動作補正部20から制御パラメータ管理部21を介して、動作情報が目標軌道生成部55に入力されると、目標とするロボットアーム5の動作を実現するための手先位置及び姿勢目標ベクトルrdが、目標軌道生成部55から位置誤差計算部80に出力される。目標とするロボットアーム5の動作は、目的とする作業に応じて動作補正部20からそれぞれの時間(t=0、t=t1、t=t2、・・・)でのポイントごとの位置及び姿勢(rd0、rd1、rd2、・・・)が与えられており、目標軌道生成部55は、多項式補間を使用し、各ポイント間の軌道を補間し、手先位置及び姿勢目標ベクトルrdを生成する。
インピーダンス制御モード時には、インピーダンス制御モードに切り替え時のロボットアーム5の手先位置を、目標とする手先位置及び姿勢目標ベクトルrdとして出力する。さらに、動作情報データベース17の動作情報のハンド30の開閉フラグにより、後述するハンド制御部54へ、ハンド30の開閉指令を出す。
さらに、目標軌道生成部55は、力ハイブリッドインピーダンス制御モード又は高剛性位置制御モードで、ロボットアーム5を動作するように、動作補正部20で生成されかつ制御パラメータ管理部21を介して目標軌道生成部55に入力された動作情報から、目標とする手先位置及び姿勢目標ベクトルrdを目標軌道生成部55により生成する。
目標軌道生成部55は、制御パラメータ管理部21からの動作情報の入力を受けて、目標とするロボットアーム5の動作を実現するための手先位置及び姿勢目標ベクトルrdと目標軌道生成部55で生成される手先の力ベクトルfdとそれぞれの方向別にどのパラメータが有効かを示すフラグとが、目標軌道生成部55から位置誤差計算部80に出力される。位置制御モード時には、目標とするロボットアーム5の動作は、目的とする作業に応じて、動作補正部20からそれぞれの時間(t=0、t=t1、t=t2、・・・)でのポイントごとの位置及び姿勢(rd0、rd1、rd2、・・・)と、力(fd0、fd1、fd2、・・・)とが与えられる。目標軌道生成部55は、多項式補間を使用し、各ポイント間の軌道と力とを補間し、手先位置及び姿勢目標ベクトルrd及び力ベクトルfdを生成する。さらに、第1実施形態と同様、動作情報データベース17の動作情報の「ハンド」の開閉フラグにより、後述するハンド制御部54へ、ハンド30の開閉指令を出す。
54はハンド制御部であり、目標軌道生成部55から入力した開閉フラグにより、ハンド30を開閉するよう、入出力IF24を介してロボットアーム5へ指令を出す。
53は力検出部であり、人4等とロボットアーム5の接触によってロボットアーム5に加わる外力Fextを検出する。ただし、手先に重量mの物体を把持して作業している場合は、検出したFextからmgをあらかじめ減じておく。ここで、gは重力加速度である。把持物体の質量mの値は、物体を把持する前に人4がデータ入力IF26により力検出部53に入力することができる。
力検出部53には、モータードライバ27の電流センサーで計測された、ロボットアーム5の各関節部を駆動するモーター43を流れる電流値i=[i1,i2,i3,i4,i5,i6]Tが入出力IF24を介して取り込まれて力検出部53として力を検出する。また、各エンコーダ44で計測された関節角の現在値qが入出力IF24を介して取り込まれるとともに、後述する近似逆運動学計算部57からの関節角度誤差補償出力uqeが取り込まれる。力検出部53は、オブザーバーとして機能し、以上の電流値iと、関節角の現在値qと、関節角度誤差補償出力uqeとより、ロボットアーム5に加わる外力により各関節部に発生するトルクτextを算出する。そして、Fext=Jv(q)−Tτext−[0,0,mg]Tによりロボットアーム5の手先における等価手先外力Fextに換算して、この等価手先外力Fextをインピーダンス計算部51に出力する。ここで、Jv(q)は、
を満たすヤコビ行列である。ただし、v=[vx,vy,vz,ωx,ωy,ωz]Tであり、(vx,vy,vz)は手先座標系42でのロボットアーム5の手先の並進速度、(ωx,ωy,ωz)は手先座標系42でのロボットアーム5の手先の角速度である。また、mはハンド30で把持している把持物体の質量であり、gは重力加速度である。把持物体の質量mの値は、その物体を把持する前に、人4が入出力IF24を介して力検出部53に入力することができる。また、ロボットアーム5のハンド30により物体の把持を実際に行い、そのときの力検出部53の等価手先外力Fextの推定結果より把持物体の質量mの値を算出する事も可能である。
インピーダンス計算部51は、ロボットアーム5に機械インピーダンス設定値への前記ロボットアーム5の機械インピーダンスの値の制御を実現する機能を果たす部分であり、制御パラメータ管理部21から位置制御モードに切り替えられた際には0を出力する。
一方、インピーダンス制御モード及びハイブリッドインピーダンス制御モードに切り替えられた際には、制御パラメータ管理部21で設定されたインピーダンスパラメータである慣性Mと粘性Dと剛性Kと、関節角の現在値qと、力検出部53が検出した外力Fextとより、ロボットアーム5に機械インピーダンス設定値への前記ロボットアーム5の機械インピーダンスの値の制御を実現するための手先位置及び姿勢目標補正出力rdΔを以下の式(6)によりインピーダンス計算部51で計算し、計算して求められた手先位置及び姿勢目標補正出力rdΔを位置誤差計算部80に出力する。
さらに、制御パラメータ管理部21で力ハイブリッドインピーダンス制御モードに切り替えられた際には、「フラグ」で指定された力成分が存在する場合には、制御パラメータ管理部21で設定されたインピーダンスパラメータである慣性Mと粘性Dと剛性Kと、関節角の現在値qと、力検出部53が検出した外力Fextと、目標軌道生成部55から出力されるfdとより、ロボットアーム5に機械インピーダンス設定値への前記ロボットアーム5の機械インピーダンスの値の制御を実現するための手先位置及び姿勢目標補正出力rdΔを以下の式(10)によりインピーダンス計算部51で計算して、計算して求められた手先位置及び姿勢目標補正出力rdΔを位置誤差計算部80に出力する。
手先位置及び姿勢目標補正出力rdΔは、目標軌道生成部55の出力する手先位置及び姿勢目標ベクトルrdに位置誤差計算部80で加算され、手先位置及び姿勢補正目標ベクトルrdmが生成される。ただし、ハイブリッドインピーダンス制御モード時に、補正パラメータに応じて、ロボットアーム5の動作を拘束する場合に、例えばz軸のみロボットアーム5が動くようにするには、手先位置及び姿勢目標補正出力rdΔのz成分以外を0にインピーダンス計算部51で設定する。
58はロボットアーム5からのそれぞれの関節軸のエンコーダ44により計測された関節角の現在値qである関節角度ベクトルqが、入出力IF24を介して入力される順運動学計算部である。順運動学計算部58は、ロボットアーム5の関節角度ベクトルqから、手先位置及び姿勢ベクトルrへの変換の幾何学的計算を順運動学計算部58で行う。順運動学計算部58で計算された手先位置及び姿勢ベクトルrは、位置誤差計算部80及びインピーダンス計算部51及び目標軌道生成部55に出力される。
56は位置誤差補償部であり、ロボットアーム5において計測される関節角度ベクトルqより順運動学計算部58により計算される手先位置及び姿勢ベクトルrと、手先位置及び姿勢補正目標ベクトルrdmとの誤差reが位置誤差計算部80で求められたのち、その誤差reが位置誤差補償部56に入力され、位置誤差補償部56から、位置誤差補償出力ureが近似逆運動学計算部57に向けて出力される。
さらに、高剛性位置制御モードが設定された際に、定数の対角行列である比例、微分、積分の3つのゲインをあらかじめ設定された値に大きく設定する(通常の位置制御モードと比較して大きな値を設定する。具体的には、通常の位置制御モード時の2倍程度の値に設定する。ここで、高剛性とは、通常の位置制御と比較して、剛性が高くなることを意味する。値を通常の位置制御モード時の2倍程度にすると、剛性を約2倍まで高くすることができる。)このようにすることで、高剛性の位置制御を実現することができる。なお、前記ゲインを各成分毎に値を変えることで、例えば、z軸方向のみ高剛性で、その他の方向は通常の位置制御で動作するよう制御することができる。
近似逆運動学計算部57では、位置誤差補償部56により入力される位置誤差補償出力ureとロボットアーム5において計測される関節角度ベクトルqとに基づき、近似式uout=Jr(q)−1uinにより、逆運動学の近似計算を行う。ただし、Jr(q)は、
の関係を満たすヤコビ行列、uinは近似逆運動学計算部57への入力、uoutは近似逆運動学計算部57からの出力であり、入力uinを関節角度誤差qeとすれば、qe=Jr(q))−1reのように手先位置及び姿勢誤差reから関節角度誤差qeへの変換式となる。したがって、位置誤差補償部56から位置誤差補償出力ureが近似逆運動学計算部57に入力されると、近似逆運動学計算部57からの出力として、関節角度誤差qeを補償するための関節角度誤差補償出力uqeが近似逆運動学計算部57から入出力IF24を介してロボットアーム5のモータドライバ25に向けて出力される。
関節角度誤差補償出力uqeは、入出力IF24のD/Aボードを介してロボットアーム5のモータドライバ25に電圧指令値として与えられ、各モータ43により各関節軸が正逆回転駆動されロボットアーム5が動作する。
以上のように構成される制御部22に関して、ロボットアーム5のインピーダンス制御動作の原理について説明する。
インピーダンス制御動作(ハイブリッドインピーダンス制御も同様)の基本は、位置誤差補償部56による手先位置及び姿勢誤差reのフィードバック制御(位置制御)であり、図3の点線で囲まれた部分が位置制御系59になっている。位置誤差補償部56として、例えば、PID補償器を使用すれば、手先位置及び姿勢誤差reが0に収束するように位置制御系59による制御が働き、目標とするロボットアーム5のインピーダンス制御動作を実現することができる。
制御パラメータ管理部21でインピーダンス制御モード若しくはハイブリッドインピーダンス制御モード若しくは力ハイブリッドインピーダンス制御モードに切り替えられた場合には、前記説明した位置制御系59に対し、インピーダンス計算部51により手先位置及び姿勢目標補正出力rdΔが位置誤差計算部80で加算され、手先位置及び姿勢の目標値の補正が行われる。このために、前記した位置制御系59は、手先位置及び姿勢の目標値が本来の値より微妙にずれることになり、結果的に、前記ロボットアーム5の機械インピーダンスの値を前記適切に設定された設定値に制御する動作が実現され、位置制御系59の位置制御動作を補正することができる。手先位置及び姿勢目標補正出力rdΔはインピーダンス制御モード若しくはハイブリッドインピーダンス制御モードの場合は式(6)により算出され、力ハイブリッドインピーダンス制御モードの場合は式(10)による算出されるため、前記ロボットアーム5の慣性Mと粘性Dと剛性Kとの機械インピーダンスの値を前記適切に設定された設定値に制御する動作が実現される。
(周辺装置14)
周辺装置14は、データ入力IF(インターフェース)26と、入出力IF(インターフェース)24と、モータドライバ25と、表示部2とを有するように構成される。制御部22から入出力IF24には制御信号などの制御情報が出力される。動作補正部20から、動作情報データベース17で記憶された補正パラメータなどの補正情報及び動作IDに該当する映像若しくは写真若しくはテキストが表示部2へ出力されて、動作情報で記述されたロボットアーム5の動作の映像若しくは写真若しくはテキストを表示部2で表示する。
周辺装置14は、データ入力IF(インターフェース)26と、入出力IF(インターフェース)24と、モータドライバ25と、表示部2とを有するように構成される。制御部22から入出力IF24には制御信号などの制御情報が出力される。動作補正部20から、動作情報データベース17で記憶された補正パラメータなどの補正情報及び動作IDに該当する映像若しくは写真若しくはテキストが表示部2へ出力されて、動作情報で記述されたロボットアーム5の動作の映像若しくは写真若しくはテキストを表示部2で表示する。
入出力IF24は、パーソナルコンピュータのPCIバスなどの拡張スロットに接続された、例えばD/AボードとA/Dボードとカウンタボードとなどを有するように構成されている。入出力IF24は、ロボットアーム5の各関節部の、後述するエンコーダ44より出力される各関節角度情報及びハンド30のエンコーダ61より出力される角度情報が入力されて制御部22に入力する。一方、入出力IF24には、制御部22から制御信号などの制御情報が入力されるとともに、モータドライバ25に制御指令値などの制御情報を出力する。モータドライバ25は、ロボットアーム5の各関節部の、後述するモータ43及びハンド30のモータ62へ制御指令値などの制御情報を出力する。
26はデータ入力IF(インターフェース)であり、人4がキーボード又はマウス又はマイクなどの入力装置を使用して、後述する動作情報を入力したり変更したりするためのインターフェースである。また、データ入力IF26は、図1の操作盤13のボタン13aなどの入力装置を使用して、人4から動作指令部27に対して制御動作開始及び終了の指令を受けるようにしてもよい。ボタン13aとしては、例えばトグルスイッチとして1つのボタンで制御動作開始及び制御動作終了をそれぞれ入力可能としてもよいし、制御動作開始ボタンと制御動作終了ボタンと別々に設けてもよい。
2は表示部であり、例えばロボットアーム5又は作業台7の側面に設置されたディスプレイ装置で、動作情報などを表示する。
以上の原理に基づく制御プログラムの実際の動作ステップについて、図11のフローチャートに基づいて説明する。
ロボットアーム5の関節部それぞれのエンコーダ44により計測された関節角度データ(関節変数ベクトル又は関節角度ベクトルq)が、エンコーダ44から、入出力IF24を介して、制御装置本体部11の制御部22に取り込まれる(ステップS1)。
次いで、制御部22に取り込まれた関節角度データ(関節変数ベクトル又は関節角度ベクトルq)に基づいて、逆運動学計算部57にてロボットアーム5の運動学計算に必要なヤコビ行列Jr等の計算を行う (ステップS2)。
次いで、順運動学計算部58にて、ロボットアーム5のそれぞれのエンコーダ44からの関節角度データ(関節変数ベクトル又は関節角度ベクトルq)から、ロボットアーム5の現在の手先位置及び姿勢ベクトルrを計算して、位置誤差計算部80と目標軌道生成部55とインピーダンス計算部51とに出力する(ステップS3)。
次いで、動作補正部20から制御パラメータ管理部21を介して送信された動作情報に基づき、目標軌道計算部55は、ロボットアーム5の手先位置及び姿勢目標ベクトルrdを計算し、インピーダンス制御モード時は、ロボットアーム5の手先位置を、目標とする手先位置及び姿勢目標ベクトルrdとして位置誤差計算部80に出力する(ステップS4)。
次いで、力検出部53は、モータ43の駆動電流値iと、関節角度データ(関節変数ベクトル又は関節角度ベクトルq)と、関節角度誤差補償出力uqeとから、ロボットアーム5の手先における等価手先外力Fextを計算してインピーダンス計算部51に出力する(ステップS5)。
次いで、ステップS6では、制御パラメータ管理部21において、後述する動作補正部20により補正有りと指示され且つ補正パラメータで6軸のうち力成分を補正する場合は、力成分が設定された成分は高剛性位置制御モードに制御モードを切り替えられる。その後、ステップS7へ進む。
また、ステップS6では、制御パラメータ管理部21において、ハイブリッドインピーダンス制御モードが設定されている場合には、6軸のうち位置成分を補正する場合は、変更したい位置成分をインピーダンス制御モードに変更する。その後、ステップS9へ進む。
また、ステップS6では、制御パラメータ管理部21において、位置制御モードが設定されている場合には、ステップS8へ進み、ステップS8で位置制御モードを設定する。若しくは、ステップS6で制御パラメータ管理部21において、力制御モードが設定されている場合には、ステップS9へ進み、ステップS9で力制御モードを設定する。
ステップS7(インピーダンス計算手段51での処理)では、制御パラメータ管理部21において、高剛性位置制御モードが設定された場合には、インピーダンス計算部51で、手先位置及び姿勢目標補正出力rdΔを0ベクトルとする。その後、ステップS10に進む。
ステップS8(インピーダンス計算手段51での処理)では、制御パラメータ管理部21において、位置制御モードが設定された場合には、インピーダンス計算部51で、手先位置及び姿勢目標補正出力rdΔを0ベクトルとする。その後、ステップS11に進む。
ステップS9では、制御パラメータ管理部21において、インピーダンス制御モード若しくは力制御モードが設定された場合には、インピーダンス計算部51では、制御パラメータ管理部21において設定された機械インピーダンスパラメータの慣性Mと粘性Dと剛性Kと、関節角度データ(関節角度ベクトルq)と、力検出部53により計算されたロボットアーム5に加わる等価手先外力Fextとから、手先位置及び姿勢目標補正出力rdΔが、インピーダンス計算部80により計算される。さらに、補正パラメータに基づいて、手先位置及び姿勢目標補正出力rdΔのいずれか成分の値を0に設定する。その後、ステップS11に進む。
ステップS11では、位置誤差補償部56では、手先位置及び姿勢目標ベクトルrdと手先位置及び姿勢目標補正出力rdΔとの和である手先位置及び姿勢補正目標ベクトルrdmと、現在の手先位置及び姿勢ベクトルrとの差である手先位置及び姿勢の誤差reが計算される。位置誤差補償部56の具体例としては、PID補償器が考えられる。定数の対角行列である比例、微分、積分の3つのゲインを適切に調整することにより、位置誤差が0に収束するように位置誤差補償部56の制御が働く。その後、ステップS12に進む。
ステップS10では、位置誤差補償部56の定数の対角行列である比例、微分、積分の3つのゲインを適切に調整することにより、位置誤差が0に収束するように位置誤差補償部56の制御が働く。そのゲインを、ある値まで小さくすることで、高剛性の位置制御を実現する。その後、ステップS12に進む。
ステップS12では、近似逆運動学計算部57では、ステップS2で計算したヤコビ行列Jrの逆行列を位置誤差補償出力ureに近似逆運動学計算部57で乗算することにより、位置誤差補償出力ureを、手先位置及び姿勢の誤差に関する値から関節角度の誤差に関する値である関節角度誤差補償出力uqeに、近似逆運動学計算部57により変換する。
次いで、ステップS13では、関節角度誤差補償出力uqeが、近似逆運動学計算部57から入出力IF24を通じ、モータドライバ25に与えられる。モータドライバ25は、関節角度誤差補償出力uqeに基づき、関節部のそれぞれのモータ43を流れる電流量を変化させる。この電流量の変化により、ロボットアーム5のそれぞれの関節部の回転運動が発生して、ロボットアーム5が動作を行なう。
以上の動作補正部20と動作記憶部15と変更条件設定部82と動作情報データベース17と動作補正情報データベース18と制御パラメータ管理部21の動作ステップについて、図14のフローチャートに基づいて説明する。
人4は、データ入力IF26により、動作情報データベース17の作業の中からロボットアーム5に実行させたい作業を選択した選択指令、すなわち、選択された(指定された)「作業ID」の選択指令を動作指令部27に入力する(ステップS50)。
次いで、動作指令部27に入力された選択指令に基づいて、動作補正部20は、動作情報データベース17に記憶されかつ選択された(指定された)「作業ID」に関する動作情報の「フラグ」に従って制御モードを設定する(ステップS51)。
次いで、人4がデータ入力IF26を使用して選択した作業についての動作開始の指令を動作指令部27に入力すると、その動作開始指令を動作指令部27が受けて、動作補正部20を介して、制御パラメータ管理部21へ、設定した制御モードで動作するよう指令を出す(ステップS52)。制御パラメータ管理部21は、設定した制御モードでロボットアーム5が動作するように、制御部22へ指令を出して、制御部22の制御の下にロボットアーム5を動作させる。
次いで、ロボットアーム5での動作中に、人4がデータ入力IF26を使用して、補正開始の指令の入力を動作指令部27に行う(ステップS53)。動作指令部27が補正開始の指令を受け取ると、動作補正部20と変更条件設定部82とに動作補正開始の指令を入力する。すると、動作補正部20は、「補正パラメータフラグ」に従って、制御モード時を設定して、制御パラメータ管理部21へ、設定した制御モードでロボットアーム5が動作するよう指令を出す(ステップS54)。
次いで、人4がロボットアーム5を把持して、補正したい方向に力をロボットアーム5にかけることで、変更条件設定部82が動作情報を補正する。具体的には、人4が補正を開始した時点から終了する時点までのロボットアーム5の手先位置及び姿勢の情報をある一定時間毎(例えば0.2秒毎)に変更条件設定部82で取得し(ステップS55)、動作補正情報に従って、取得した動作を動作補正部20で補正する(ステップS56)。
次いで、動作補正部20で補正された動作情報は、動作記憶部15により、動作情報データベース17に記憶される(ステップ57)。
以上の図11の動作ステップS1〜ステップS13及び図14のステップS51〜ステップS57により、動作情報に基づいてロボットアーム5の動作中に、人4がロボットアーム5を直接把持して、力をロボットアーム5にかけることで、動作情報を補正する際に、動作補正情報により補正操作開始時及び補正操作終了時の人4の手先のぶれを動作補正部20で削除して動作補正部20で補正することで、人4からの動作のぶれを考慮して動作補正部20で補正することができる。
なお、この例では、位置制御モードで動作するかき混ぜ作業を例に説明してが、図9又は図10に示したように力制御モードで動作している最中に、補正操作開始時と補正操作終了時を削除するときも、同様の方法で補正することで、人4からの動作のぶれを考慮して動作補正部20で補正することができる。
さらに、人4から補正開始を受けて、位置制御モードからハイブリッドインピーダンス制御モードに切り替えるよう記載したが、ロボットアーム5が作業中、位置制御モードではなく、常にハイブリッドインピーダンス制御モードで動作するようもしても良い。その場合は、人4がロボットアーム5に力を誤ってかけてしまった場合の誤操作は防げないが、補正の開始を指示せずに、いつでも補正をすることができるようになる。
さらに、人4から補正開始を受けて、位置制御モードからハイブリッドインピーダンス制御モードに切り替えるよう記載したが、ロボットアーム5が作業中、位置制御モードではなく、常にハイブリッドインピーダンス制御モードで動作するようもしても良い。その場合は、人4がロボットアーム5に力を誤ってかけてしまった場合の誤操作は防げないが、補正の開始を指示せずに、いつでも補正をすることができるようになる。
(第2実施形態)
本発明の第2実施形態における、ロボットアームの制御装置の基本的な構成は、第1実施形態の場合と同様であるので、共通部分の説明は省略し、異なる部分についてのみ以下、詳細に説明する。
本発明の第2実施形態における、ロボットアームの制御装置の基本的な構成は、第1実施形態の場合と同様であるので、共通部分の説明は省略し、異なる部分についてのみ以下、詳細に説明する。
第1実施形態の場合と同様に、図8Aに示すように、ロボットシステム1を使って鍋3のかき混ぜ作業をする場合を例に説明する。
-動作補正情報データベース-
図16は、動作補正情報データベース18を示す。動作補正情報を識別するIDである動作補正情報ID番号(図16の「動作補正情報ID」の欄参照)と、補正区間に関する情報(図16の「補正区間」の欄参照)であり、動作情報で動作が開始されている最中に、人4が力を加えた場合の力の閾値に関する情報(図16の「力の閾値」参照)と、人4が「力の閾値」以上の力をどれくらいの時間加えたかの時間の閾値に関する情報(図16の「時間の閾値」参照)と、動作情報の補正方法に関する情報(図16の「補正方法」の欄参照)と、「動作補正情報ID」で示されたIDの動作補正情報をどの作業に適応するかを識別するための識別番号である「作業ID」(図16の「作業ID」の欄参照)とを有するように構成される。「作業ID」は、動作情報データベース17の「作業ID」のいずれかの値であり、複数の作業に適応する補正情報である場合には、図16の「動作補正情報ID」の「2」のように、「1,3」と複数のIDを記憶することができる。
図16は、動作補正情報データベース18を示す。動作補正情報を識別するIDである動作補正情報ID番号(図16の「動作補正情報ID」の欄参照)と、補正区間に関する情報(図16の「補正区間」の欄参照)であり、動作情報で動作が開始されている最中に、人4が力を加えた場合の力の閾値に関する情報(図16の「力の閾値」参照)と、人4が「力の閾値」以上の力をどれくらいの時間加えたかの時間の閾値に関する情報(図16の「時間の閾値」参照)と、動作情報の補正方法に関する情報(図16の「補正方法」の欄参照)と、「動作補正情報ID」で示されたIDの動作補正情報をどの作業に適応するかを識別するための識別番号である「作業ID」(図16の「作業ID」の欄参照)とを有するように構成される。「作業ID」は、動作情報データベース17の「作業ID」のいずれかの値であり、複数の作業に適応する補正情報である場合には、図16の「動作補正情報ID」の「2」のように、「1,3」と複数のIDを記憶することができる。
-変更条件設定部及び動作補正部-
動作補正部20は、第1実施形態と同様に、人4が、データ入力IF26により、動作情報データベース17の作業の中の「作業ID」に関する作業の中からロボットアーム5に実行させたい作業を選択して、選択情報を動作指令部27に入力して指定する。人4がデータ入力IF26により指定した「作業ID」の作業の作業選択の指令を動作指令部27が受けて、動作指令部27から変更条件設定部82と動作補正部20とに作業選択の指示を行うことにより、作業を選択する。動作情報データベース17の作業の中の選択された作業の「フラグ」により、制御モードを動作補正部20が設定する。そして、設定した制御モードで動作するように、制御パラメータ管理部21へ動作補正部20から指令を出す。人4が補正開始の指示をデータ入力IF26により動作指令部27へ入力すると、動作指令部27を介して動作補正部20は、動作情報データベース17の「補正パラメータフラグ」により制御モードを設定し、設定した制御モードで動作するよう制御パラメータ管理部21へ指令を出す。人4が補正を開始した時点から終了する時点までのロボットアーム5の手先にかかる力とロボットアーム5の手先位置及び姿勢を、ある一定時間毎(例えば0.2秒毎)に変更条件設定部82で取得する。具体例として、変更条件設定部82で取得したデータを図15Aに示す。図15Aにおいて、「ID」は、変更条件設定部82で取得した各データを識別する識別番号を表し、「位置姿勢」は、変更条件設定部82で取得したロボットアーム5の手先の位置及び姿勢を表し、「力」は、変更条件設定部82で取得したロボットアーム5にかかる力を表し、「時間」は、人4が補正を開始した時点を0とし、その時点からの相対時間を表す。
動作補正部20は、第1実施形態と同様に、人4が、データ入力IF26により、動作情報データベース17の作業の中の「作業ID」に関する作業の中からロボットアーム5に実行させたい作業を選択して、選択情報を動作指令部27に入力して指定する。人4がデータ入力IF26により指定した「作業ID」の作業の作業選択の指令を動作指令部27が受けて、動作指令部27から変更条件設定部82と動作補正部20とに作業選択の指示を行うことにより、作業を選択する。動作情報データベース17の作業の中の選択された作業の「フラグ」により、制御モードを動作補正部20が設定する。そして、設定した制御モードで動作するように、制御パラメータ管理部21へ動作補正部20から指令を出す。人4が補正開始の指示をデータ入力IF26により動作指令部27へ入力すると、動作指令部27を介して動作補正部20は、動作情報データベース17の「補正パラメータフラグ」により制御モードを設定し、設定した制御モードで動作するよう制御パラメータ管理部21へ指令を出す。人4が補正を開始した時点から終了する時点までのロボットアーム5の手先にかかる力とロボットアーム5の手先位置及び姿勢を、ある一定時間毎(例えば0.2秒毎)に変更条件設定部82で取得する。具体例として、変更条件設定部82で取得したデータを図15Aに示す。図15Aにおいて、「ID」は、変更条件設定部82で取得した各データを識別する識別番号を表し、「位置姿勢」は、変更条件設定部82で取得したロボットアーム5の手先の位置及び姿勢を表し、「力」は、変更条件設定部82で取得したロボットアーム5にかかる力を表し、「時間」は、人4が補正を開始した時点を0とし、その時点からの相対時間を表す。
次に、現在動作中の「作業ID」と同じIDの動作補正情報を動作補正情報データベース18の中から動作補正部20で検索する。この例では、図4Bの動作情報データベース17の「作業ID」の「2」で動作中なので、図16においては「作業ID」が「2」の動作補正情報は、「動作補正情報ID」が「1」となる。「動作補正情報ID」が「1」の動作補正情報は、「補正区間」の「力の閾値」が「3(N)」、「時間の閾値」が「3(秒)」、「補正方法」が「削除」である情報を変更条件設定部82で取得する。この動作補正情報を使って、先ほど取得した図15Aのデータを動作補正部20で補正する。具体的には、取得したデータのうち、力に関する情報が動作補正情報の「力の閾値」以上である時間が、動作補正情報の「時間の閾値」以上連続している区間以外の区間を、「補正方法」に記載された補正方法(この場合は「削除」)で補正を動作補正部20で行う。図15Bの(b)は、図15Aの時間を横軸に、力のx成分のみ縦軸に表したグラフであり、図15Bの(c)は、図15Aの時間を横軸に、力のy成分のみ縦軸に表したグラフである。図15Bの(b)及び(c)の閾値f1が動作補正情報の「力の閾値」に相当し、時間「time1」が動作補正情報の「時間の閾値」に相当する。図15Bの(b)では、「力の閾値」以上の区間が時間「time1」以上ある区間が存在するが、図15Bの(c)のように、「力の閾値」以上の区間が時間「time1」以上ある区間が存在しない、などそれぞれの成分での区間が異なる場合がある。このような場合は、いずれかの成分の力が、「力の閾値」以上でかつ時間「time1」以上ある場合の区間を、すべての成分で補正に使う区間として変更条件設定部82では削除しない。取得した手先位置及び姿勢を、動作記憶部15により動作情報データベース17に記憶することで、図8Cのように、ロボットアーム先端のレードル9の動作を上下に移動しながら円状にかき混ぜるような動作に動作補正部20で補正をすることができる。また、動作補正情報を使った補正により、動作中の人4による補正において、人4のロボットアーム5を操作する力が、ある一定以上の値であり、かつ、その力が、ある一定時間存在する区間のみを補正に使用することで、人4が補正操作開始時及び補正操作終了時など、人4の手先がぶれてしまう区間などは、人4のロボットアーム5にかけた力が閾値以下になるため、そのような区間を補正に使用することを防ぐことができる。なお、この例では、図16のように、「力の閾値」を3(N)、「時間の閾値」を3(秒)としたが、第1実施形態のように、速度に応じてそれぞれの閾値を決定することができる。すなわち、速く動作している最中は、人4が加えた力が変動しやすいことから、閾値を大きく設定することで、安定して操作している状態のみ補正することが可能となる。さらに、高齢者又は子供のように、あまり大きな力を加えたり、長い時間加えることが難しい場合には、テーブルIDを切り替えて、それぞれの閾値を小さく設定することで、大きな力を長く加えなくても補正をすることができるようになる。「速く動作している最中」か否かは、「速く動作している最中」の場合のためのテーブルを事前に作成しておき、人が「速く動作している最中」であると認識した場合に、その「速く動作している最中」の場合のためのテーブルに切り替えればよい。また、子供が操作する場合には、データ入力IFで「子供」であることが、先に述べたように、設定されると、予め用意しておいた子供用のテーブルに切り替えればよい。
さらに、作業によっては、あまり手振れをすることなく補正ができる場合には、作業ID毎にテーブルIDを切り替えることで、作業に適した閾値を設定することが可能となる。
(第3実施形態)
本発明の第3実施形態における、ロボットアームの制御装置の基本的な構成は、第1実施形態の場合と同様であるので、共通部分の説明は省略し、異なる部分についてのみ以下、詳細に説明する。
本発明の第3実施形態における、ロボットアームの制御装置の基本的な構成は、第1実施形態の場合と同様であるので、共通部分の説明は省略し、異なる部分についてのみ以下、詳細に説明する。
第1実施形態の場合と同様に、図8Aに示すように、ロボットシステム1を使って鍋3のかき混ぜ作業をする場合を例に説明する。
-動作補正情報データベース-
図18は、動作補正情報データベース18を示す。動作補正情報を識別するIDである動作補正情報ID番号(図18の「動作補正情報ID」の欄参照)と、補正区間に関する情報(図18の「補正区間」の欄参照)であり、動作情報で動作が開始されている最中に、人4が力を加えた場合の力の閾値に関する情報(図18の「力の閾値」参照)と、人4が「力の閾値」以上の力をどれくらいの時間加えたかの時間の閾値に関する情報(図18の「時間の閾値」参照)と、動作情報の補正方法に関する情報(図18の「補正方法」の欄参照)と、「動作補正情報ID」で示されたIDの動作補正情報をどの作業に適応するかを識別するための識別番号である「作業ID」(図18の「作業ID」の欄参照)とを有するように構成される。「作業ID」は、動作情報データベース17の「作業ID」のいずれかの値であり、複数の作業に適応する補正情報である場合には図18の「動作補正情報ID」の「2」のように、「1,3」と複数のIDを記憶することができる。
図18は、動作補正情報データベース18を示す。動作補正情報を識別するIDである動作補正情報ID番号(図18の「動作補正情報ID」の欄参照)と、補正区間に関する情報(図18の「補正区間」の欄参照)であり、動作情報で動作が開始されている最中に、人4が力を加えた場合の力の閾値に関する情報(図18の「力の閾値」参照)と、人4が「力の閾値」以上の力をどれくらいの時間加えたかの時間の閾値に関する情報(図18の「時間の閾値」参照)と、動作情報の補正方法に関する情報(図18の「補正方法」の欄参照)と、「動作補正情報ID」で示されたIDの動作補正情報をどの作業に適応するかを識別するための識別番号である「作業ID」(図18の「作業ID」の欄参照)とを有するように構成される。「作業ID」は、動作情報データベース17の「作業ID」のいずれかの値であり、複数の作業に適応する補正情報である場合には図18の「動作補正情報ID」の「2」のように、「1,3」と複数のIDを記憶することができる。
-変更条件設定部及び動作補正部-
動作補正部20は、第1実施形態と同様に、人4が、データ入力IF26により、動作情報データベース17の作業の中の「作業ID」に関する作業の中からロボットアーム5に実行させたい作業を選択して、選択情報を動作指令部27に入力して指定する。人4がデータ入力IF26により指定した「作業ID」の作業の作業選択の指令を動作指令部27が受けて、動作指令部27から変更条件設定部82と動作補正部20とに作業選択の指示を行うことにより、作業を選択する。動作情報データベース17の作業の中の選択された作業の「フラグ」により、制御モードを動作補正部20が設定する。そして、設定した制御モードで動作するように、制御パラメータ管理部21へ動作補正部20から指令を出す。人4が補正開始の指示をデータ入力IF26により動作指令部27へ入力すると、動作指令部27を介して動作補正部20は、動作情報データベース17の「補正パラメータフラグ」により制御モードを設定し、設定した制御モードで動作するよう制御パラメータ管理部21へ指令を出す。人4が補正を開始した時点から終了する時点までのロボットアーム5の手先にかかる力とロボットアーム5の手先位置及び姿勢を、ある一定時間毎(例えば0.2秒毎)に変更条件設定部82で取得する。具体例として、変更条件設定部82で取得したデータを図17Aに示す。図17Aにおいて、「ID」は、変更条件設定部82で取得した各データを識別する識別番号を表し、「位置姿勢」は、変更条件設定部82で取得したロボットアーム5の手先の位置及び姿勢を表し、「力」は、変更条件設定部82で取得したロボットアーム5にかかる力を表し、「時間」は、人4が補正を開始した時点を0とし、その時点からの相対時間を表す。
動作補正部20は、第1実施形態と同様に、人4が、データ入力IF26により、動作情報データベース17の作業の中の「作業ID」に関する作業の中からロボットアーム5に実行させたい作業を選択して、選択情報を動作指令部27に入力して指定する。人4がデータ入力IF26により指定した「作業ID」の作業の作業選択の指令を動作指令部27が受けて、動作指令部27から変更条件設定部82と動作補正部20とに作業選択の指示を行うことにより、作業を選択する。動作情報データベース17の作業の中の選択された作業の「フラグ」により、制御モードを動作補正部20が設定する。そして、設定した制御モードで動作するように、制御パラメータ管理部21へ動作補正部20から指令を出す。人4が補正開始の指示をデータ入力IF26により動作指令部27へ入力すると、動作指令部27を介して動作補正部20は、動作情報データベース17の「補正パラメータフラグ」により制御モードを設定し、設定した制御モードで動作するよう制御パラメータ管理部21へ指令を出す。人4が補正を開始した時点から終了する時点までのロボットアーム5の手先にかかる力とロボットアーム5の手先位置及び姿勢を、ある一定時間毎(例えば0.2秒毎)に変更条件設定部82で取得する。具体例として、変更条件設定部82で取得したデータを図17Aに示す。図17Aにおいて、「ID」は、変更条件設定部82で取得した各データを識別する識別番号を表し、「位置姿勢」は、変更条件設定部82で取得したロボットアーム5の手先の位置及び姿勢を表し、「力」は、変更条件設定部82で取得したロボットアーム5にかかる力を表し、「時間」は、人4が補正を開始した時点を0とし、その時点からの相対時間を表す。
次に、現在動作中の「作業ID」と同じIDの動作補正情報を動作補正情報データベース18の中から動作補正部20で検索する。この例では、図4Bの動作情報データベース17の「作業ID」の「2」で動作中なので、図18においては「作業ID」が「2」の動作補正情報は、「動作補正情報ID」が「1」となる。「動作補正情報ID」が「1」の動作補正情報は、「補正区間」の「力の閾値」が「13(N)」、「時間の閾値」が「1(秒)」、「補正方法」が「削除」である情報を変更条件設定部82で取得する。この動作補正情報を使って、先ほど取得した図17Aのデータを補正する。具体的には、取得したデータのうち、力に関する情報が動作補正情報の「力の閾値」以上である時間が、動作補正情報の「時間の閾値」以下連続している区間を、「補正方法」に記載された補正方法(この場合は「削除」)で補正を動作補正部20で行う。図17Bは、図17Aの時間を横軸に、力のx成分のみ縦軸に表したグラフであり、図17Cは、図17Aの時間を横軸に、力のy成分のみ縦軸に表したグラフである。図17B及び図17Cの閾値f2が動作補正情報の「力の閾値」に相当し、時間「time2」が動作補正情報の「時間の閾値」に相当する。図17Bは、「力の閾値」以上の区間でかつ時間「time2」以下の区間が存在するが、図17Cでは、「力の閾値」以上の区間と「力の閾値」以上の区間とがずれており、それぞれの成分での区間が異なる場合がある。このような場合は、いずれかの成分の力が「力の閾値」以上でかつ時間「time2」以下ある場合は、他の成分の同じ区間を動作補正部20で削除する。取得した手先位置及び姿勢を、動作記憶部15により動作情報データベース17に記憶することで、図8Cのように、ロボットアーム先端のレードル9の動作を上下に移動しながら円状にかき混ぜるような動作に動作補正部20で補正をすることができる。また、動作補正情報を使った補正により、動作中の人4による補正において、人4のロボットアーム5を操作する力が、ある一定以上の値であり、かつ、その力が、ある一定時間以下に存在する区間のみを削除することで、例えば、人4がロボットアーム5に不用意に衝突した場合など、誤って瞬時に大きな力がロボットアーム5に加わった区間を削除することで、ロボットアーム5に衝突した区間を動作補正部20で補正しないようにすることができる。
なお、作業によっては、人4の作業が多く、例えば、子供などの力の弱い人からの衝突が多く発生する場合には、力の閾値を小さくするように作業ID毎にテーブルIDを切り替えることで、作業に適した閾値を設定することが可能となる。なお、子供又は子供などの力の弱い人が操作する場合には、データ入力IFで「子供」であることが、先に述べたように、設定されると、予め用意しておいた子供用のテーブルに切り替えればよい。
(第4実施形態)
本発明の第4実施形態における、ロボットアームの制御装置の基本的な構成は、第1実施形態の場合と同様であるので、共通部分の説明は省略し、異なる部分についてのみ以下、詳細に説明する。
本発明の第4実施形態における、ロボットアームの制御装置の基本的な構成は、第1実施形態の場合と同様であるので、共通部分の説明は省略し、異なる部分についてのみ以下、詳細に説明する。
図19は、第4実施形態におけるロボットシステム1を構成する、制御対象であるロボットアーム5と、ロボットアーム5の制御装置70との詳細構成を示す図である。図19において、ロボットアーム5と、制御装置本体部11と、周辺装置14と、動作指令部27と、動作情報データベース17とは、第1実施形態の場合と同様であるので、説明は省略する。
図10に示したように、ロボットシステム1を使って鍋3の底をこすりながらかき混ぜ作業をする場合を例に説明する。
図4Aのそれぞれの項目は、第1実施形態の場合と同様であるので、説明は省略する。図4Aの「作業ID」の「1」は、一例として、z軸成分を5[N]で力を加えて鍋底をレードル9でこすりながら、x−y平面(鍋底面沿いの平面)を円状にかき混ぜる作業を表す。
-動作補正情報データベース-
図20は、動作補正情報データベース18を示す。動作補正情報を識別するIDである動作補正情報ID番号(図20の「動作補正情報ID」の欄参照)と、補正区間に関する情報(図20の「補正区間」の欄参照)であり、後述する補正方法種別決定部23で決定された補正種別の補正順序の番号である優先度に関する情報を識別するためのID番号(図20の「優先度ID番号」参照)と、動作情報の補正方法に関する情報(図20の「補正方法」の欄参照)と、「動作補正情報ID」で示されたIDの動作補正情報をどの作業に適応するかを識別するための識別番号である「作業ID」(図20の「作業ID」の欄参照)とを有するように構成される。「作業ID」は動作情報データベース17の「作業ID」のいずれかの値であり、複数の作業に適応する補正情報である場合には、図18の「動作補正情報ID」の「2」のように、「2,3」と複数のIDを記憶することができる。
図20は、動作補正情報データベース18を示す。動作補正情報を識別するIDである動作補正情報ID番号(図20の「動作補正情報ID」の欄参照)と、補正区間に関する情報(図20の「補正区間」の欄参照)であり、後述する補正方法種別決定部23で決定された補正種別の補正順序の番号である優先度に関する情報を識別するためのID番号(図20の「優先度ID番号」参照)と、動作情報の補正方法に関する情報(図20の「補正方法」の欄参照)と、「動作補正情報ID」で示されたIDの動作補正情報をどの作業に適応するかを識別するための識別番号である「作業ID」(図20の「作業ID」の欄参照)とを有するように構成される。「作業ID」は動作情報データベース17の「作業ID」のいずれかの値であり、複数の作業に適応する補正情報である場合には、図18の「動作補正情報ID」の「2」のように、「2,3」と複数のIDを記憶することができる。
-補正種別決定部-
図19の補正種別決定部23は、人4は、動作情報データベース17の「動作パラメータフラグ」の動作パラメータで記載された方向別のそれぞれの位置若しくは力若しくは速度の補正を行う際に、人4がどのパラメータの種別を補正しているかを決定して、パラメータ種別を出力する。例えば、複数のパラメータを補正して、変化した動作情報の変化量の最も大きい補正種別のパラメータを補正種別決定部23で決定する。変化量とは、元の動作情報に対して何%変化したかを示し、{(変化後の動作情報−変化前の動作情報)/変化前の動作情報}×100で算出する。例えば動作中の速度が、0.3(m/s)である場合に、人4の補正により、速度が0.4(m/s)に変化した場合の変化量は{(0.4−0.3)/0.3}×100となり、変化量は30%となる。さらに速度と共に力の値が4(N)から8(N)に変化した場合の変化量は{(8−4)/4}×100となり、変化量は100%となる。この例では、速度と力の値が変化したが、2つのパラメータのうちの最も変化した方のパラメータは「力」であると、補正種別を補正種別決定部23で決定する。
図19の補正種別決定部23は、人4は、動作情報データベース17の「動作パラメータフラグ」の動作パラメータで記載された方向別のそれぞれの位置若しくは力若しくは速度の補正を行う際に、人4がどのパラメータの種別を補正しているかを決定して、パラメータ種別を出力する。例えば、複数のパラメータを補正して、変化した動作情報の変化量の最も大きい補正種別のパラメータを補正種別決定部23で決定する。変化量とは、元の動作情報に対して何%変化したかを示し、{(変化後の動作情報−変化前の動作情報)/変化前の動作情報}×100で算出する。例えば動作中の速度が、0.3(m/s)である場合に、人4の補正により、速度が0.4(m/s)に変化した場合の変化量は{(0.4−0.3)/0.3}×100となり、変化量は30%となる。さらに速度と共に力の値が4(N)から8(N)に変化した場合の変化量は{(8−4)/4}×100となり、変化量は100%となる。この例では、速度と力の値が変化したが、2つのパラメータのうちの最も変化した方のパラメータは「力」であると、補正種別を補正種別決定部23で決定する。
なお、この例では動作情報の変化量で種別を決定したが、図4A及び図4Bの動作情報データベースの動作ID毎に、予め決定しておいても良い。例えば、補正後の動作情報が、補正前の動作情報から補正後の動作情報に補正する際に、位置、力、速度全てのパラメータ種別が変化していた場合には、位置のみを補正するように、位置の種別に決定したり、また、力と速度のみが変化していた場合には、力の種別に決定するようにしても良い。
-変更条件設定部及び動作補正部-
動作補正部20は、第1実施形態と同様に、人4が、データ入力IF26により、動作情報データベース17の作業の中の「作業ID」に関する作業の中からロボットアーム5に実行させたい作業を選択して、選択情報を動作指令部27に入力して指定する。人4がデータ入力IF26により指定した「作業ID」の作業の作業選択の指令を動作指令部27が受けて、動作指令部27から変更条件設定部82と動作補正部20とに作業選択の指示を行うことにより、作業を選択する(この例では「作業ID」の「1」を選択)。動作情報データベース17の作業の中の選択された作業の「フラグ」により、制御モードを動作補正部20が設定する。そして、設定した制御モードで動作するように、制御パラメータ管理部21へ動作補正部20から指令を出す。人4が補正開始の指示をデータ入力IF26により動作指令部27へ入力すると、動作指令部27を介して動作補正部20は、動作情報データベース17の「補正パラメータフラグ」により制御モードを設定し、設定した制御モードで動作するよう制御パラメータ管理部21へ指令を出す。人4が補正を開始した時点から終了する時点までのロボットアーム5の手先にかかる力とロボットアーム5の手先位置及び姿勢を、ある一定時間毎(例えば0.2秒毎)に動作補正部20で取得する。具体例として、動作補正部20で取得したデータを図21に示す。人4がz軸成分の力を補正して、かき混ぜるとき鍋3の底をもう少し強くこするようにロボットアーム5の動作を補正したい場合、人4はロボットアーム5を把持して鍋3の底に向かって、強めに力をかける。その際に、xy平面(鍋底面沿いの平面)の動作(具体的には、位置に関する情報)は補正するつもりがないのに、xy平面のxの位置又はyの位置を変更してしまったり、xの位置とyの位置とは同じだが、速度が遅くなるように補正してしまう場合(具体的には動作情報の「時間」が大きくなる)がある。そのような誤操作による誤った補正を防ぐために、補正種別決定部23で決定した補正種別について、動作補正方法データベース18に記憶された「補正方法」で補正を行う。具体的には、図20の「補正方法」の欄に記載された補正方法(図20では「補正」)で補正する。例えば、補正種別決定部23で、力、位置、速度(位置は変化せず時間のみ変化する場合)のうち、力を補正すべきパラメータとして決定した場合、力のパラメータについて、図20の「補正方法」の欄に記載された補正方法(図20では「補正」)で補正する。なお、この例では、補正種別決定部23は、作業IDではなく、動作ID毎に種別を決定することができるために、作業の動作ID毎に補正すべきパラメータの種別を切り替えながら補正することが可能である。
動作補正部20は、第1実施形態と同様に、人4が、データ入力IF26により、動作情報データベース17の作業の中の「作業ID」に関する作業の中からロボットアーム5に実行させたい作業を選択して、選択情報を動作指令部27に入力して指定する。人4がデータ入力IF26により指定した「作業ID」の作業の作業選択の指令を動作指令部27が受けて、動作指令部27から変更条件設定部82と動作補正部20とに作業選択の指示を行うことにより、作業を選択する(この例では「作業ID」の「1」を選択)。動作情報データベース17の作業の中の選択された作業の「フラグ」により、制御モードを動作補正部20が設定する。そして、設定した制御モードで動作するように、制御パラメータ管理部21へ動作補正部20から指令を出す。人4が補正開始の指示をデータ入力IF26により動作指令部27へ入力すると、動作指令部27を介して動作補正部20は、動作情報データベース17の「補正パラメータフラグ」により制御モードを設定し、設定した制御モードで動作するよう制御パラメータ管理部21へ指令を出す。人4が補正を開始した時点から終了する時点までのロボットアーム5の手先にかかる力とロボットアーム5の手先位置及び姿勢を、ある一定時間毎(例えば0.2秒毎)に動作補正部20で取得する。具体例として、動作補正部20で取得したデータを図21に示す。人4がz軸成分の力を補正して、かき混ぜるとき鍋3の底をもう少し強くこするようにロボットアーム5の動作を補正したい場合、人4はロボットアーム5を把持して鍋3の底に向かって、強めに力をかける。その際に、xy平面(鍋底面沿いの平面)の動作(具体的には、位置に関する情報)は補正するつもりがないのに、xy平面のxの位置又はyの位置を変更してしまったり、xの位置とyの位置とは同じだが、速度が遅くなるように補正してしまう場合(具体的には動作情報の「時間」が大きくなる)がある。そのような誤操作による誤った補正を防ぐために、補正種別決定部23で決定した補正種別について、動作補正方法データベース18に記憶された「補正方法」で補正を行う。具体的には、図20の「補正方法」の欄に記載された補正方法(図20では「補正」)で補正する。例えば、補正種別決定部23で、力、位置、速度(位置は変化せず時間のみ変化する場合)のうち、力を補正すべきパラメータとして決定した場合、力のパラメータについて、図20の「補正方法」の欄に記載された補正方法(図20では「補正」)で補正する。なお、この例では、補正種別決定部23は、作業IDではなく、動作ID毎に種別を決定することができるために、作業の動作ID毎に補正すべきパラメータの種別を切り替えながら補正することが可能である。
以上のように、人4はロボットアーム5を把持して鍋3の底に向かって、強めに力をかける際に、xy平面の動作は補正するつもりがないのに、xy平面のxの位置又はyの位置を変更してしまったり、xの位置とyの位置とは同じだが、速度が遅くなるように補正してしまう場合(具体的には動作情報の「時間」が大きくなる)に、力のパラメータの補正以外は補正しないようにすることで、人4の誤操作による誤った補正を防ぐことができる。
(第5実施形態)
本発明の第5実施形態における、ロボットアームの制御装置の基本的な構成は、第1実施形態の場合と同様であるので、共通部分の説明は省略し、異なる部分についてのみ以下、詳細に説明する。
本発明の第5実施形態における、ロボットアームの制御装置の基本的な構成は、第1実施形態の場合と同様であるので、共通部分の説明は省略し、異なる部分についてのみ以下、詳細に説明する。
図10に示したように、ロボットシステム1を使って鍋3の底をこすりながらかき混ぜ作業をする場合を例に説明する。
図4A及び図4Bのそれぞれの項目は、第1実施形態の場合と同様であるので、説明は省略する。図4A及び図4Bの「作業ID」の「1」は、z軸成分(鍋底)を5[N]で力を加えてこすりながら、xy平面を円状にかき混ぜる作業を表す。
-動作補正情報データベース-
図22は、動作補正情報データベース18を示す。動作補正情報を識別するIDである動作補正情報ID番号(図22の「動作補正情報ID」の欄参照)と、補正区間に関する情報(図22の「補正区間」の欄参照)であり、人4が力を加えて補正した動作の偏りの有無に関する情報(図22の「偏りの有無」の欄参照:ここで、「1」の場合は偏り有り、「0」の場合は偏り無し)と、動作情報の補正方法に関する情報(図22の「補正方法」の欄参照)と、「動作補正情報ID」で示されたIDの動作補正情報をどの作業に適応するかを識別するための識別番号である「作業ID」(図22の「作業ID」の欄参照)とを有するように構成される。「作業ID」は、動作情報データベース17の「作業ID」のいずれかの値であり、複数の作業に適応する補正情報である場合には、図22の「動作補正情報ID」の「2」のように、「2,3」と複数のIDを記憶することができる。
図22は、動作補正情報データベース18を示す。動作補正情報を識別するIDである動作補正情報ID番号(図22の「動作補正情報ID」の欄参照)と、補正区間に関する情報(図22の「補正区間」の欄参照)であり、人4が力を加えて補正した動作の偏りの有無に関する情報(図22の「偏りの有無」の欄参照:ここで、「1」の場合は偏り有り、「0」の場合は偏り無し)と、動作情報の補正方法に関する情報(図22の「補正方法」の欄参照)と、「動作補正情報ID」で示されたIDの動作補正情報をどの作業に適応するかを識別するための識別番号である「作業ID」(図22の「作業ID」の欄参照)とを有するように構成される。「作業ID」は、動作情報データベース17の「作業ID」のいずれかの値であり、複数の作業に適応する補正情報である場合には、図22の「動作補正情報ID」の「2」のように、「2,3」と複数のIDを記憶することができる。
-変更条件設定部及び動作補正部-
動作補正部20は、第1実施形態と同様に、人4が、データ入力IF26により、動作情報データベース17の作業の中の「作業ID」に関する作業の中からロボットアーム5に実行させたい作業を選択して、選択情報を動作指令部27に入力して指定する。人4がデータ入力IF26により指定した「作業ID」の作業の作業選択の指令を動作指令部27が受けて、動作指令部27から変更条件設定部82と動作補正部20とに作業選択の指示を行うことにより、作業を選択する。動作情報データベース17の作業の中の選択された作業の「フラグ」により制御モードを動作補正部20が設定する。そして、設定した制御モードで動作するように、制御パラメータ管理部21へ動作指令部27から指令を出す。人4が補正開始の指示をデータ入力IF26により動作指令部27へ入力すると、動作指令部27を介して動作補正部20は、動作情報データベース17の「補正パラメータフラグ」により制御モードを設定し、設定した制御モードで動作するよう制御パラメータ管理部21へ指令を出す。人4が補正を開始した時点から終了する時点までのロボットアーム5の手先にかかる力とロボットアーム5の手先位置及び姿勢を、ある一定時間毎(例えば0.2秒毎)に変更条件設定部82で取得する。具体例として、変更条件設定部82取得したデータを図23Aに示す。図23Aにおいて、「ID」は、変更条件設定部82で取得した各データを識別する識別番号を表し、「位置姿勢」は、変更条件設定部82で取得したロボットアーム5の手先の位置及び姿勢を表し、「力」は、変更条件設定部82で取得したロボットアーム5にかかる力を表し、「時間」は、人4が補正を開始した時点を0とし、その時点からの相対時間を表す。
動作補正部20は、第1実施形態と同様に、人4が、データ入力IF26により、動作情報データベース17の作業の中の「作業ID」に関する作業の中からロボットアーム5に実行させたい作業を選択して、選択情報を動作指令部27に入力して指定する。人4がデータ入力IF26により指定した「作業ID」の作業の作業選択の指令を動作指令部27が受けて、動作指令部27から変更条件設定部82と動作補正部20とに作業選択の指示を行うことにより、作業を選択する。動作情報データベース17の作業の中の選択された作業の「フラグ」により制御モードを動作補正部20が設定する。そして、設定した制御モードで動作するように、制御パラメータ管理部21へ動作指令部27から指令を出す。人4が補正開始の指示をデータ入力IF26により動作指令部27へ入力すると、動作指令部27を介して動作補正部20は、動作情報データベース17の「補正パラメータフラグ」により制御モードを設定し、設定した制御モードで動作するよう制御パラメータ管理部21へ指令を出す。人4が補正を開始した時点から終了する時点までのロボットアーム5の手先にかかる力とロボットアーム5の手先位置及び姿勢を、ある一定時間毎(例えば0.2秒毎)に変更条件設定部82で取得する。具体例として、変更条件設定部82取得したデータを図23Aに示す。図23Aにおいて、「ID」は、変更条件設定部82で取得した各データを識別する識別番号を表し、「位置姿勢」は、変更条件設定部82で取得したロボットアーム5の手先の位置及び姿勢を表し、「力」は、変更条件設定部82で取得したロボットアーム5にかかる力を表し、「時間」は、人4が補正を開始した時点を0とし、その時点からの相対時間を表す。
次に、現在動作中の「作業ID」と同じIDの動作補正情報を動作補正情報データベース18の中から動作補正部20で検索する。この例では、図4Aの動作情報データベース17の「作業ID」の「1」で動作中なので、図22においては「作業ID」が「1」の動作補正情報は、「動作補正情報ID」が「1」となる。「動作補正情報ID」が「1」の動作補正情報は、「補正区間」の「偏りの有無」が「1」、「補正方法」が「平均化」である情報を変更条件設定部82で取得する。この動作補正情報を使って、先ほど取得した図23Aのデータを動作補正部20で補正する。
次に、動作補正情報の「偏りの有無」が「1」であるので、先ほど取得した図23Aのデータに偏りがあるかどうかを変更条件設定部82で調べる。「偏り」とは、動作情報の位置及び姿勢の速度が加速又は減速しているとき、同じタイミングで人4がロボットアーム5にかけた力が強まったり、弱まったりしている状態を意味する。例えば、ロボットアーム5の動作において、ロボットアーム5のx、y成分の手先位置及び姿勢が加速又は減速して動作している最中に、人4がz成分の力成分を一定の値に補正する際に、ロボットアーム5のx、yの加速又は減速方向につられて、z成分の力が強まったり弱まったりして補正してしまう状態である。このような誤操作による誤った補正を防ぐために、動作補正情報により動作補正を動作補正部20で行う。
まず、図4Aの動作情報から位置及び姿勢の速度を変更条件設定部82で算出する。速度とは、単位時間あたりの位置又は姿勢の移動量を表す。具体的には、「time1」の時間における位置が「rd1」、「time2」の時間における位置が「rd2」とすると、速度は、(rd2−rd1)/(time2−time1)となる。これを動作中の作業について、すべての位置及び姿勢成分で変更条件設定部82で算出する。図23Bは、動作情報で動作中のロボットアーム5の位置及び姿勢のうちx成分のみの速度を縦軸に、時間を横軸にプロットした図である。図23Cは、図23Aの力を縦軸に、時間を横軸にプロットした図である。図23Bと図23Cとを変更条件設定部82で比較して、図23Bの速度が加速しているときに、図23Cの力が強まっていると変更条件設定部82で判断した場合は、偏りがあると変更条件設定部82で判断する。同様に図23Dのように速度が減速しているときに、図23Eのように力が弱まっているときも偏りがあると変更条件設定部82で判断する。偏りがあると変更条件設定部82で判断した場合には、図23Aの力の情報の各成分の平均を変更条件設定部82で算出する。動作補正部20で算出した力の情報で、動作記憶部15は動作情報データベース17の動作情報を書き換えることで、動作を動作補正部20で補正することができる。
なお、この例では、変更条件設定部82で平均化して補正するよう記載したが、図22の動作補正情報の「補正方法」に「最小化」と記載されている場合は、偏りがあると変更条件設定部82で判断した後、図23Aの力の情報の各成分の中で最小値を使ってすべての力の値を動作補正部20で補正することもできる。
以上のようにロボットアーム5のx、y成分の手先位置及び姿勢が加速又は減速して動作している最中に、人4がz成分の力成分を一定の値に動作補正部20で補正する際に、ロボットアーム5のx、y成分の加速又は減速方向につられて、z成分の力が強まったり弱まったりして補正してしまうことを防ぐことができる。
なお、この例では力の情報に関して補正したが、ロボットアーム5のz成分の力が強まったり、弱まったりしているとき、x、y成分の位置や速度を補正する際に、ロボットアーム5のz成分につられて、x、y成分の速度が減速したり加速したりする場合も同様に動作補正情報により動作補正を動作補正部20で行う。
(第6実施形態)
本発明の第6実施形態における、ロボットアームの制御装置の基本的な構成は、第1実施形態の場合と同様であるので、共通部分の説明は省略し、異なる部分についてのみ以下、詳細に説明する。
本発明の第6実施形態における、ロボットアームの制御装置の基本的な構成は、第1実施形態の場合と同様であるので、共通部分の説明は省略し、異なる部分についてのみ以下、詳細に説明する。
第1実施形態の場合と同様に、図8Aに示すように、ロボットシステム1を使って鍋3のかき混ぜ作業をする場合を例に説明する。
-動作補正情報データベース-
図24は、動作補正情報データベース18を示す。動作補正情報を識別するIDである動作補正情報ID番号(図24の「動作補正情報ID」の欄参照)と、補正区間に関する情報(図24の「補正区間」の欄参照)であり、人4が力を加えて補正した動作の繰り返しの有無に関する情報(図24の「繰り返しの有無」の欄参照:ここで、「1」の場合は繰り返し有り、「0」の場合は繰り返し無し)と、動作情報の補正方法に関する情報(図24の「補正方法」の欄参照)と、「動作補正情報ID」で示されたIDの動作補正情報をどの作業に適応するかを識別するための識別番号である「作業ID」(図24の「作業ID」の欄参照)とを有するように構成される。「作業ID」は、動作情報データベース17の「作業ID」のいずれかの値であり、複数の作業に適応する補正情報である場合には図24の「動作補正情報ID」の「2」のように、「1,3」と複数のIDを記憶することができる。
図24は、動作補正情報データベース18を示す。動作補正情報を識別するIDである動作補正情報ID番号(図24の「動作補正情報ID」の欄参照)と、補正区間に関する情報(図24の「補正区間」の欄参照)であり、人4が力を加えて補正した動作の繰り返しの有無に関する情報(図24の「繰り返しの有無」の欄参照:ここで、「1」の場合は繰り返し有り、「0」の場合は繰り返し無し)と、動作情報の補正方法に関する情報(図24の「補正方法」の欄参照)と、「動作補正情報ID」で示されたIDの動作補正情報をどの作業に適応するかを識別するための識別番号である「作業ID」(図24の「作業ID」の欄参照)とを有するように構成される。「作業ID」は、動作情報データベース17の「作業ID」のいずれかの値であり、複数の作業に適応する補正情報である場合には図24の「動作補正情報ID」の「2」のように、「1,3」と複数のIDを記憶することができる。
-変更条件設定部及び動作補正部-
動作補正部20は、第1実施形態と同様に、人4が、データ入力IF26により、動作情報データベース17の作業の中の「作業ID」に関する作業の中からロボットアーム5に実行させたい作業を選択して、選択情報を動作指令部27に入力して指定する。人4がデータ入力IF26により指定した「作業ID」の作業の作業選択の指令を動作指令部27が受けて、動作指令部27から変更条件設定部82と動作補正部20とに作業選択の指示を行うことにより、作業を選択する。動作情報データベース17の作業の中の選択された作業の「フラグ」により制御モードを動作補正部20が設定する。そして、設定した制御モードで動作するように、制御パラメータ管理部21へ動作指令部27から指令を出す。人4が補正開始の指示をデータ入力IF26により動作指令部27へ入力すると、動作指令部27を介して動作補正部20は、動作情報データベース17の「補正パラメータフラグ」により制御モードを設定し、設定した制御モードで動作するよう制御パラメータ管理部21へ指令を出す。人4が補正を開始した時点から終了する時点までのロボットアーム5の手先位置及び姿勢を、ある一定時間毎(例えば0.2秒毎)に変更条件設定部82で取得する。具体例として、取得したデータを図25Aに示す。図25Aにおいて、「ID」は、変更条件設定部82で取得した各データを識別する識別番号を表し、「位置姿勢」は、変更条件設定部82で取得したロボットアーム5の手先の位置及び姿勢を表し、「時間」は、人4が補正を開始した時点を0とし、その時点からの相対時間を表す。
動作補正部20は、第1実施形態と同様に、人4が、データ入力IF26により、動作情報データベース17の作業の中の「作業ID」に関する作業の中からロボットアーム5に実行させたい作業を選択して、選択情報を動作指令部27に入力して指定する。人4がデータ入力IF26により指定した「作業ID」の作業の作業選択の指令を動作指令部27が受けて、動作指令部27から変更条件設定部82と動作補正部20とに作業選択の指示を行うことにより、作業を選択する。動作情報データベース17の作業の中の選択された作業の「フラグ」により制御モードを動作補正部20が設定する。そして、設定した制御モードで動作するように、制御パラメータ管理部21へ動作指令部27から指令を出す。人4が補正開始の指示をデータ入力IF26により動作指令部27へ入力すると、動作指令部27を介して動作補正部20は、動作情報データベース17の「補正パラメータフラグ」により制御モードを設定し、設定した制御モードで動作するよう制御パラメータ管理部21へ指令を出す。人4が補正を開始した時点から終了する時点までのロボットアーム5の手先位置及び姿勢を、ある一定時間毎(例えば0.2秒毎)に変更条件設定部82で取得する。具体例として、取得したデータを図25Aに示す。図25Aにおいて、「ID」は、変更条件設定部82で取得した各データを識別する識別番号を表し、「位置姿勢」は、変更条件設定部82で取得したロボットアーム5の手先の位置及び姿勢を表し、「時間」は、人4が補正を開始した時点を0とし、その時点からの相対時間を表す。
次に、現在動作中の「作業ID」と同じIDの動作補正情報を動作補正情報データベース18の中から動作補正部20で検索する。この例では、図4Bの動作情報データベース17の「作業ID」の「2」で動作中なので、図24においては「作業ID」が「2」の動作補正情報は、「動作補正情報ID」が「1」となる。「動作補正情報ID」が「1」の動作補正情報は、「補正区間」の「繰り返しの有無」が「1」、「補正方法」が「平均化」である情報を変更条件設定部82で取得する。この動作補正情報を使って、先ほど取得した図25Aのデータを補正する。
次に、動作補正情報の「繰り返しの有無」が「1」であるので、先ほど取得した図25Aのデータに繰り返しがあるかどうか(言い換えれば、周期性があるか否か)を変更条件設定部82で調べる。「繰り返し」とは、人4が力をロボットアーム5に加えて生成した図25Aの位置又は姿勢又は速度又は力のいずれかの情報が規則的に(周期的に)繰り返していることを意味する。例えば、ロボットアーム5の動作において、図8Aに示すように、ロボットシステム1で鍋3のかき混ぜ動作している最中に、人4が、ロボットアーム5のハンド30のz成分の位置を、図8Bに示すように、上下に移動するように動作補正部20で補正したとする。その際に、人4は、上から下に、下か上にと何度か繰り返してロボットアーム5の操作を行うが、それぞれの位置又は姿勢は、人4の力のかけ具合により、繰り返し動作が変動している。そこで、繰り返し動作に変動が起こらないように、動作補正情報により動作補正を動作補正部20で行う。
まず、図25Aのデータから繰り返し区間を変更条件設定部82により算出する。図25Bは、図25Aの位置姿勢のうちx成分を図示したものである。「繰り返し区間」とは、この図25Aの「区間1」〜「区間4」のように、多少の変動はあるが、規則的に繰り返している区間を意味する。具体的には、図25Aの連続する複数の「位置姿勢」のデータ(例えば位置及び姿勢目標ベクトル)のそれぞれを別の「位置姿勢」のデータ(例えば位置及び姿勢目標ベクトル)と変更条件設定部82で比較する。例えば、連続する位置及び姿勢の目標ベクトルをrd1、rd2、rd3とする。次に連続する位置及び姿勢の目標ベクトルをrd4、rd5、rd6とする。rd1−rd4=Δrd1、rd2−rd5=Δrd2、rd3−rd6=Δrd3を変更条件設定部82で算出し、Δrd1、Δrd2、Δrd3がすべて閾値以下の場合は、繰り返しの区間の一部が合致していると変更条件設定部82で判断する。繰り返しの区間の一部が合致しない場合は、次に、1つ後ろにずらした連続する位置及び姿勢の目標ベクトルをrd5、rd6、rd7とし、rd1−rd5=Δrd1、rd2−rd6=Δrd2、rd3−rd7=Δrd3を変更条件設定部82で算出し、Δrd1、Δrd2、Δrd3がすべて閾値以下の場合は、繰り返しの区間の一部が合致していると変更条件設定部82で判断する。繰り返しの区間の一部が合致しない場合は、同様の方法で、次に、1つ後ろにずらした連続する位置及び姿勢の目標ベクトルをrd1、rd2、rd3と変更条件設定部82で比較して変更条件設定部82で判断する。以上のような方法で、図25Bの区間1、区間2、区間3、区間4を変更条件設定部82で算出する。
次に、図24の動作情報の動作方法は「平均化」となっているので、変更条件設定部82によりで以下の演算を行う。すなわち、区間1のrd1、区間2のrd4、区間3のrd7、区間4のrd10の差が閾値以下の場合には、rd1、rd4、rd7、rd10の平均値rdn1を補正後の区間の座標とする。同様に、区間1のrd2、区間2のrd5、区間3のrd8、区間4のrd11の差が閾値以下の場合には、rd2、rd5、rd8、rd11の平均値rdn2を次の補正後の座標とする。同様に、区間1のrd3、区間2のrd6、区間3のrd9、区間4のrd12の差が閾値以下の場合には、rd3、rd6、rd9、rd12の平均値rdn3を次の補正後の座標とする。図25Cは、補正後のデータを図示したものである。(rdn1、rdn2、rdn3)を1つの区間として、これを繰り返すことで、人4による繰り返しの変動を防ぐことができる。
なお、この例では、平均化して動作補正部20で補正するよう記載したが、図24の動作補正情報の「補正方法」に「最小化」と記載されている場合は、繰り返しがあると変更条件設定部82によりで判断した後、図25Aの平均を変更条件設定部82によりで算出する代わりに、rd1、rd4、rd7、rd10のうちの最小値をrdn1とし、rd2、rd5、rd8、rd11の最小値をrdn2とし、rd3、rd6、rd9、rd12の最小値をrdn3として変更条件設定部82によりで算出しても良い。
以上のより、人4の力のかけ具合により繰り返し動作が変動することを、動作補正情報により動作補正部20で動作補正を行うにより、補正をすることができる。
(第7実施形態)
本発明の第7実施形態における、ロボットアームの制御装置の基本的な構成は、第1実施形態の場合と同様であるので、共通部分の説明は省略し、異なる部分についてのみ以下、詳細に説明する。
本発明の第7実施形態における、ロボットアームの制御装置の基本的な構成は、第1実施形態の場合と同様であるので、共通部分の説明は省略し、異なる部分についてのみ以下、詳細に説明する。
第1実施形態の場合と同様に、図8Aに示すように、鍋3のかき混ぜ作業を行う場合を例にとって説明する。
ロボットアーム5が、例えば図4Bの「作業ID」の「2」で、図8Aに示すように、鍋3のかき混ぜ作業をしている最中に、人4が鍋3の具材の状態を確認し、図8Bに示すように、ロボットアーム5のハンド30を上下に移動しながら鍋3をかき混ぜるために、人4が、ロボットアーム5を把持して、軌道の補正を行う。
図38Aの斜線部分(図38A及び図38Bでは、参照符号81で示す領域)は、ロボットアーム5の手先(ハンド30)の可動範囲を示す。人4がロボットアーム5を把持して操作する際に、ロボットアーム5の可動範囲81以外に移動させることはできない。例えば、人4が、図38Bの「L」の地点から「M」の地点にロボットアーム5の手先(ハンド30)を矢印83Aのように移動させたい場合は、点「L」と点「M」とが共に可動範囲81内であるので、ロボットアーム5の操作は可能だが、点「L」から点「M」に直線的に移動する途中は、ロボットアーム5の可動範囲81外になるため、その箇所ではロボットアーム5が停止し、それ以上、移動させることはできない。
ここで、一般に、産業用ロボットを操作する人は、ロボットの可動範囲などを熟知している熟練者である。しかしながら、本発明の適用対象例である家庭用ロボットを操作する人4は、ロボットの仕様を熟知しない素人であるため、前記したように可動範囲81外で停止したロボットアーム5を、どのように操作すれば可動範囲81内で移動させることができるかを直感的に知ることは難しい。さらに、人4は、動作中のロボットアーム5を操作するために、人4が、可動範囲81内から可動範囲81外に移動させてしまって、ロボットアーム5を停止させてしまった場合に、ロボットアーム5が停止した位置で動作補正部20で動作が補正されてしまい、人4が意図した動作にならない。
そこで、このような不具合が生じないように、後述する動作補正情報データベース18の情報と動作補正部20と変更条件設定部82との動作とにより、人4が意図した操作で可動範囲81内でロボットアーム5を動作させることが可能となるようにするのがこの第7実施形態である。
-動作補正情報データベース-
図28は、動作補正情報データベース18を示す。動作補正情報を識別するIDである動作補正情報ID番号(図28の「動作補正情報ID」の欄参照)と、補正区間に関する情報(図28の「補正区間」の欄参照)であり、不満区間検出のための情報(図28の「不満区間」の欄参照)である、操作時間に関する情報(図28の「時間」の欄参照)と、操作回数の上限値(上限閾値)に関する情報(図28の「回数(上限)」の欄参照)と、操作回数の下限値(下限閾値)に関する情報(図28の「回数(下限)」の欄参照)と、人4が操作した位置及び姿勢が補正前から変化しており、その変化値の閾値(変化用の閾値)に関する情報(図28の「可動範囲外の総数」の欄参照)である。ここで、変化値とは、操作前後の変化の度合い(どれくらい位置及び姿勢が変化したか)を示す値である。さらに、動作情報の補正方法に関する情報(図28の「補正方法」の欄参照)と、「動作補正情報ID」で示されたIDの動作補正情報をどの作業に適応するかを識別するための識別番号である「作業ID」(図28の「作業ID」の欄参照)とを有するように構成される。「作業ID」は、動作情報データベース17の「作業ID」のいずれかの値であり、複数の作業に適応する補正情報である場合には図28の「動作補正情報ID」の「2」のように、「2,3」と複数のIDを記憶することができる。
図28は、動作補正情報データベース18を示す。動作補正情報を識別するIDである動作補正情報ID番号(図28の「動作補正情報ID」の欄参照)と、補正区間に関する情報(図28の「補正区間」の欄参照)であり、不満区間検出のための情報(図28の「不満区間」の欄参照)である、操作時間に関する情報(図28の「時間」の欄参照)と、操作回数の上限値(上限閾値)に関する情報(図28の「回数(上限)」の欄参照)と、操作回数の下限値(下限閾値)に関する情報(図28の「回数(下限)」の欄参照)と、人4が操作した位置及び姿勢が補正前から変化しており、その変化値の閾値(変化用の閾値)に関する情報(図28の「可動範囲外の総数」の欄参照)である。ここで、変化値とは、操作前後の変化の度合い(どれくらい位置及び姿勢が変化したか)を示す値である。さらに、動作情報の補正方法に関する情報(図28の「補正方法」の欄参照)と、「動作補正情報ID」で示されたIDの動作補正情報をどの作業に適応するかを識別するための識別番号である「作業ID」(図28の「作業ID」の欄参照)とを有するように構成される。「作業ID」は、動作情報データベース17の「作業ID」のいずれかの値であり、複数の作業に適応する補正情報である場合には図28の「動作補正情報ID」の「2」のように、「2,3」と複数のIDを記憶することができる。
-変更条件設定部及び動作補正部-
動作補正部20は、第1実施形態と同様に、人4が、データ入力IF26により、動作情報データベース17の作業の中の「作業ID」に関する作業の中からロボットアーム5に実行させたい作業を選択して、選択情報を動作指令部27に入力して指定する。人4がデータ入力IF26により指定した「作業ID」の作業の作業選択の指令を動作指令部27が受けて、動作指令部27から変更条件設定部82と動作補正部20とに作業選択の指示を行うことにより、作業を選択する。動作情報データベース17の作業の中の選択された作業の「フラグ」により制御モードを動作補正部20が設定する。そして、設定した制御モードで動作するように、制御パラメータ管理部21へ動作指令部27から指令を出す。人4が補正開始の指示をデータ入力IF26により動作指令部27へ入力すると、動作指令部27を介して動作補正部20は、動作情報データベース17の「補正パラメータフラグ」により制御モードを設定し、設定した制御モードで動作するよう制御パラメータ管理部21へ指令を出す。人4が補正を開始した時点から終了する時点までのロボットアーム5の手先位置及び姿勢を、ある一定時間毎(例えば0.2秒毎)に変更条件設定部82で取得する。具体例として、変更条件設定部82で取得したデータを図39に示す。図39の「操作ID」は、1回目の補正の場合は「1」、2回目の補正では、「2」、3回目の補正の場合は「3」と、動作記憶部15で操作履歴情報データベース19に記憶する。「位置姿勢」は、人4がロボットアーム5の動作の補正を開始した時点から終了する時点までのロボットアーム5の手先位置及び姿勢を表す。「日時」は、ロボットアーム5の手先位置及び力データを取得した日時で、「年/月/日 時:分:秒」と表す。
動作補正部20は、第1実施形態と同様に、人4が、データ入力IF26により、動作情報データベース17の作業の中の「作業ID」に関する作業の中からロボットアーム5に実行させたい作業を選択して、選択情報を動作指令部27に入力して指定する。人4がデータ入力IF26により指定した「作業ID」の作業の作業選択の指令を動作指令部27が受けて、動作指令部27から変更条件設定部82と動作補正部20とに作業選択の指示を行うことにより、作業を選択する。動作情報データベース17の作業の中の選択された作業の「フラグ」により制御モードを動作補正部20が設定する。そして、設定した制御モードで動作するように、制御パラメータ管理部21へ動作指令部27から指令を出す。人4が補正開始の指示をデータ入力IF26により動作指令部27へ入力すると、動作指令部27を介して動作補正部20は、動作情報データベース17の「補正パラメータフラグ」により制御モードを設定し、設定した制御モードで動作するよう制御パラメータ管理部21へ指令を出す。人4が補正を開始した時点から終了する時点までのロボットアーム5の手先位置及び姿勢を、ある一定時間毎(例えば0.2秒毎)に変更条件設定部82で取得する。具体例として、変更条件設定部82で取得したデータを図39に示す。図39の「操作ID」は、1回目の補正の場合は「1」、2回目の補正では、「2」、3回目の補正の場合は「3」と、動作記憶部15で操作履歴情報データベース19に記憶する。「位置姿勢」は、人4がロボットアーム5の動作の補正を開始した時点から終了する時点までのロボットアーム5の手先位置及び姿勢を表す。「日時」は、ロボットアーム5の手先位置及び力データを取得した日時で、「年/月/日 時:分:秒」と表す。
図31は、この第7実施形態におけるロボットシステム1を構成する、制御対象であるロボットアーム5と、ロボットアーム5の制御装置70との詳細構成を示す図である。図31において、ロボットアーム5と、周辺装置14と、動作指令部27と、動作情報データベース17とは、第1実施形態の場合と同様であるので、説明は省略する。
変更条件設定部82で取得した図39のデータは、操作履歴情報として、動作記憶部15により、操作履歴情報データベース19に記憶される。
次に、人4がロボットアーム5を希望する位置に操作することができない状態であるかどうかを変更条件設定部82により検出する。
まず、現在補正中の操作履歴情報の操作IDの日時から、動作補正情報データベース18の「補正区間」の「時間」を減じた時点以降の操作IDから現在補正中の操作IDまでの総数が、「補正区間」の「回数(下限)」以上、「回数(上限)」以下かどうかを変更条件設定部82で調べる。なお、現在操作中の操作IDは、補正している現在時刻が、操作履歴情報の日時に合致する操作IDとする。操作IDの総数がこの範囲内(「補正区間」の「回数(下限)」以上「回数(上限)」以下)に入っている場合は、人4が短時間に何度も操作していると、変更条件設定部82で判断できることから、人4の操作後のロボットアーム5の振舞いに何らかの不満を持っていると変更条件設定部82で判断する。
具体的には、図39の例で、補正中の現在時刻が「2008/8/1 15時36分33秒」の場合は、操作履歴情報の日時の中で、「操作ID」が「3」の「ID」が「1」と合致するので、現在補正中の操作の操作IDは「3」となる。次に、「操作ID」が「3」、「ID」が「11」の日時から、動作補正情報データベース18の「補正区間」の「時間」を減じる。図21の例では、「2008/8/1 15時36分33秒」から、「補正区間」の「時間」すなわち30秒を変更条件設定部82で減じると、「2008/8/1 15時36分03秒」となる。「2008/8/1 15時36分03秒」から「2008/8/1 15時36分33秒」までの区間には、「操作ID」が「1」と「2」と「3」とが入るので、「操作ID」の総数は「3」となる。この総数「3」が、動作補正情報データベース18の「補正区間」の「回数(下限)」以上、「回数(上限)」以下であるかどうかを変更条件設定部82で調べる。この例では、「回数(下限)」は「3」、「回数(上限)」は「10」なので、「3」はこの範囲に入と変更条件設定部82で判断する。以上の変更条件設定部82での計算により、人4が短時間に何度も操作していると変更条件設定部82で判断できることから、人4の操作後のロボットアーム5の振舞いに何らかの不満を持っていると変更条件設定部82で判断する。
次に、不満がある箇所の特定を変更条件設定部82で行う。
「補正区間」の「回数(下限)」以上、「回数(上限)」以下に入っている「操作ID」の「位置姿勢」が、図38Aの可動範囲81内にあるかどうかを変更条件設定部82で判断する。可動範囲外にある「位置姿勢」が、「補正区間」の「可動範囲外の総数」(図28では「1」)(可動範囲用の閾値)以上、存在していると変更条件設定部82で判断する場合は、人4が動作中のロボットアーム5を操作していて、可動範囲外で操作してしまい、人4が希望する位置に動作の補正ができていないと変更条件設定部82で判断する。
次に、前記のように不満がある箇所の補正を動作補正部20で行う。
「補正方法」は「可動範囲内で動作」であるので、可動範囲内で動作するよう動作補正部20で補正する。
人4が図40の軌道83のように操作しており、「L」で可動範囲外になったことを図39の操作履歴情報データベース19の操作履歴情報より変更条件設定部82によりで算出する。具体的には、前述したとおり、操作履歴情報の手先位置が、図38の可動範囲81内にあるかどうかを変更条件設定部82によりで算出する。次に、軌道83を延長させて、可動範囲81に入る点Mを変更条件設定部82によりで算出する。次に、点Lから最も短い距離で且つ可動範囲81内の軌道82を変更条件設定部82によりで算出する。この軌道82は、軌道83と同じ速度で移動するように、この軌道82の距離を「N」(m)とした場合に、軌道83の速度Sとなるように、図41に示すように、軌道82を複数点(図41の「L1」と「L2」と「L3」)を求め、これらの点を補正後の位置として、動作情報を動作補正部20で補正する。
以上の動作補正部20での補正により、人4が可動範囲81内でロボットアーム5を操作することで、人4の希望する動作を生成することができるようになる。
(第8実施形態)
本発明の第8実施形態における、ロボットアームの制御装置の基本的な構成は、第1実施形態の場合と同様であるので、共通部分の説明は省略し、異なる部分についてのみ以下、詳細に説明する。
本発明の第8実施形態における、ロボットアームの制御装置の基本的な構成は、第1実施形態の場合と同様であるので、共通部分の説明は省略し、異なる部分についてのみ以下、詳細に説明する。
第1実施形態の場合と同様に、図27Aに示すように、IHクッキングヒータ6などの天板を拭き掃除作業する場合を例にとって説明する。
人4は、ロボットアーム5が例えば図4の「作業ID」の「1」で、図27A(図26AはIHクッキングヒータ6の上方から見た図)に示すように、IHクッキングヒータ6などの天板を拭き掃除動作をしている最中に、人4がIHクッキングヒータ6などの天板上の別の場所(部分)91aが汚れていることを見つけて、図27B(図26BはIHクッキングヒータ6の上方から見た図)に示すように、汚れ付近を掃除するために、ロボットアーム5を把持してロボットアーム5の手先位置を汚れのある部分91aに移動させる。次に、汚れた部分91aを強めに擦るために、人4が動作中のロボットアーム5を把持してIHクッキングヒータ6の上方から汚れに向かって力をロボットアーム5に加える。動作補正部20により、人4が加えた力で、ロボットアーム5の動作を補正し、ロボットアーム5のIHクッキングヒータ6を擦る力を強めて、拭き掃除作業を行う。
以上のような補正は、人4が加えた力で動作情報の補正を行うために、人4が高齢者又は障害者又は子供などの場合であって、そのような人4が操作をしていて、加えたい力をロボットアーム5にかけることができない場合は、補正をすることができない。そこで、後述する動作補正情報データベース18の情報と変更条件設定部82と動作補正部20の動作とにより、人4が加えることができない力で、補正することが可能となる。
-動作補正情報データベース-
図29は、動作補正情報データベース18を示す。動作補正情報を識別するIDである動作補正情報ID番号(図29の「動作補正情報ID」の欄参照)と、補正区間に関する情報(図29の「補正区間」の欄参照)であり、不満区間検出のための情報(図29の「不満区間」の欄参照)である、操作時間に関する情報(図29の「時間」の欄参照)と、操作回数の上限値に関する情報(図29の「回数(上限)」の欄参照)と、操作回数の下限値に関する情報(図29の「回数(下限)」の欄参照)と、人4が加えた力が加える前から変化しており(例えば、人4がロボットアームに操作をしてもロボットアームの動作が変化しない場合があるため、人4の操作により、人4の操作前のロボットアームの動作が変化している場合)、その変化値の閾値に関する情報(図29の「力変化の閾値」の欄参照)である。さらに動作情報の補正方法に関する情報(図29の「補正方法」の欄参照)と、「動作補正情報ID」で示されたIDの動作補正情報をどの作業に適応するかを識別するための識別番号である「作業ID」(図29の「作業ID」の欄参照)とを有するように構成される。「作業ID」は、動作情報データベース17の「作業ID」のいずれかの値であり、複数の作業に適応する補正情報である場合には図29の「動作補正情報ID」「2」のように、「2,3」と複数のIDを記憶することができる。
図29は、動作補正情報データベース18を示す。動作補正情報を識別するIDである動作補正情報ID番号(図29の「動作補正情報ID」の欄参照)と、補正区間に関する情報(図29の「補正区間」の欄参照)であり、不満区間検出のための情報(図29の「不満区間」の欄参照)である、操作時間に関する情報(図29の「時間」の欄参照)と、操作回数の上限値に関する情報(図29の「回数(上限)」の欄参照)と、操作回数の下限値に関する情報(図29の「回数(下限)」の欄参照)と、人4が加えた力が加える前から変化しており(例えば、人4がロボットアームに操作をしてもロボットアームの動作が変化しない場合があるため、人4の操作により、人4の操作前のロボットアームの動作が変化している場合)、その変化値の閾値に関する情報(図29の「力変化の閾値」の欄参照)である。さらに動作情報の補正方法に関する情報(図29の「補正方法」の欄参照)と、「動作補正情報ID」で示されたIDの動作補正情報をどの作業に適応するかを識別するための識別番号である「作業ID」(図29の「作業ID」の欄参照)とを有するように構成される。「作業ID」は、動作情報データベース17の「作業ID」のいずれかの値であり、複数の作業に適応する補正情報である場合には図29の「動作補正情報ID」「2」のように、「2,3」と複数のIDを記憶することができる。
-変更条件設定部及び動作補正部-
動作補正部20は、第1実施形態と同様に、人4が、データ入力IF26により、動作情報データベース17の作業の中の「作業ID」に関する作業の中からロボットアーム5に実行させたい作業を選択して、選択情報を動作指令部27に入力して指定する。人4がデータ入力IF26により指定した「作業ID」の作業の作業選択の指令を動作指令部27が受けて、動作指令部27から変更条件設定部82と動作補正部20とに作業選択の指示を行うことにより、作業を選択する。動作情報データベース17の作業の中の選択された作業の「フラグ」により制御モードを動作補正部20が設定する。そして、設定した制御モードで動作するように、制御パラメータ管理部21へ動作補正部20から指令を出す。人4が補正開始の指示をデータ入力IF26により動作指令部27へ入力すると、動作指令部27を介して動作補正部20は、動作情報データベース17の「補正パラメータフラグ」により制御モードを設定し、設定した制御モードで動作するよう制御パラメータ管理部21へ指令を出す。人4が補正を開始した時点から終了する時点までのロボットアーム5の手先位置及び姿勢、人4が加えた力をある一定時間毎(例えば0.2秒毎)に変更条件設定部82で取得する。補正の開始した時点から終了するまでの時点のデータを識別するために、「操作ID」という番号を付与して記憶する。
動作補正部20は、第1実施形態と同様に、人4が、データ入力IF26により、動作情報データベース17の作業の中の「作業ID」に関する作業の中からロボットアーム5に実行させたい作業を選択して、選択情報を動作指令部27に入力して指定する。人4がデータ入力IF26により指定した「作業ID」の作業の作業選択の指令を動作指令部27が受けて、動作指令部27から変更条件設定部82と動作補正部20とに作業選択の指示を行うことにより、作業を選択する。動作情報データベース17の作業の中の選択された作業の「フラグ」により制御モードを動作補正部20が設定する。そして、設定した制御モードで動作するように、制御パラメータ管理部21へ動作補正部20から指令を出す。人4が補正開始の指示をデータ入力IF26により動作指令部27へ入力すると、動作指令部27を介して動作補正部20は、動作情報データベース17の「補正パラメータフラグ」により制御モードを設定し、設定した制御モードで動作するよう制御パラメータ管理部21へ指令を出す。人4が補正を開始した時点から終了する時点までのロボットアーム5の手先位置及び姿勢、人4が加えた力をある一定時間毎(例えば0.2秒毎)に変更条件設定部82で取得する。補正の開始した時点から終了するまでの時点のデータを識別するために、「操作ID」という番号を付与して記憶する。
具体例として、変更条件設定部82で取得したデータを図30に示す。図30の「操作ID」は、1回目の補正の場合は「1」と記憶し、2回目の補正は「2」と記憶し、3回目の補正の場合は「3」と記憶する。「位置姿勢」は人4がロボットアーム5の補正を開始した時点から終了する時点までのロボットアーム5の手先位置及び姿勢を表し、「力」は人4が加えた力を表す。「日時」は、ロボットアーム5の手先位置及び力データを取得した日時で、「年/月/日 時:分:秒」と表す。
図31は、この第8実施形態におけるロボットシステム1を構成する、制御対象であるロボットアーム5と、ロボットアーム5の制御装置70との詳細構成を示す図である。図19において、ロボットアーム5と、制御装置本体部11と、周辺装置14と、動作指令部27と、動作情報データベース17とは、第1実施形態の場合と同様であるので、説明は省略する。
変更条件設定部82で取得した図30のデータは、操作履歴情報として、動作記憶部15により、操作履歴情報データベース19に記憶される。
変更条件設定部82は、操作履歴情報により、人4がロボットアーム5に加えたい力をかけることができない状態であるかどうかを検出する。
まず、現在補正中の操作履歴情報の操作IDの日時から、動作補正情報データベース18の「補正区間」の「時間」を減じた時点以降の操作IDから現在補正中の操作IDまでの総数が、「補正区間」の「回数(下限)」以上、「補正区間」の「回数(上限)」以下かどうかを変更条件設定部82で調べる。なお、現在操作中の操作IDは、補正している現在時刻が、操作履歴情報の日時に合致する操作IDとする。操作IDの総数がこの範囲内(「補正区間」の「回数(下限)」以上「回数(上限)」以下)に入っていると変更条件設定部82で判断する場合は、人4が短時間に何度も操作していると変更条件設定部82で判断できることから、人4の操作後のロボットアーム5の振舞いに何らかの不満を持っていると変更条件設定部82で判断する。
次に、不満がある箇所の特定を変更条件設定部82で行う。「補正区間」の「回数(下限)」以上、「回数(上限)」以下に入っている操作IDの「力」と補正前の「力」との差異が「補正区間」の「力変化の閾値」以上あるかどうかを変更条件設定部82で求める。差異が閾値以上あるパラメータの操作については、人4の操作後のロボットアーム5の振舞い、すなわち、力の加え方に不満があると変更条件設定部82で判断する。不満があると変更条件設定部82で判断された場合は、図29の「補正方法」で記述された補正を動作補正部20で行う。
具体的には、図30の例で、補正中の現在時刻が「2008/8/1 15時36分33秒」の場合は、操作履歴情報の日時の中で、「操作ID」「3」の「ID」「11」と合致するので、現在補正中の操作の操作IDは「3」となる。次に、操作ID「3」、ID「11」の日時から、動作補正情報データベース18の「補正区間」の「時間」を減じる。図29の例では、「2008/8/1 15時36分33秒」から、「補正区間」の「時間」すなわち30秒を変更条件設定部82で減じると、「2008/8/1 15時36分03秒」となる。「2008/8/1 15時36分03秒」から「2008/8/1 15時36分33秒」までの区間には、操作IDの「1」と「2」と「3」とが入るので、操作IDの総数は「3」となる。この総数「3」が、動作補正情報データベース18の「補正区間」の「回数(下限)」以上、「回数(上限)」以下であるかどうかを調べる。図29の例では、「回数(下限)」は「3」、「回数(上限)」は「10」なので、「3」はこの範囲に入る。以上の変更条件設定部82での計算により、人4が短時間に何度も操作していると変更条件設定部82で判断できることから、人4の操作後のロボットアーム5の振舞いに何らかの不満を持っていると変更条件設定部82で判断する。
次に、不満がある箇所の特定を変更条件設定部82で行う。「補正区間」の「回数(下限)」以上、「回数(上限)」以下に入っている操作IDの「力」と補正前の「力」との差異を変更条件設定部82で求める。例えば、IHクッキングヒータ6を擦る力に関して、補正前の「力」のz成分が5(N)で、人4の補正中の「力」のz成分が10(N)である場合に、両者の差(この例では5(N))が、「補正区間」の力変化の閾値(図29では「3」(N))(力情報用の閾値)以上あるので、人4が加えて補正した力の加え方に不満があると変更条件設定部82で判断する。
次に、前記のように不満がある箇所の動作補正部20での補正を行う。図29の「補正方法」において、「定数補正5(N)」と記載されている場合は、人4の補正中の「力」に補正方法で記述された補正値(この例では、5(N))を変更条件設定部82で加算して動作補正部20で補正する。
以上の動作補正部20での補正により、人4が高齢者又は障害者、子供などが操作をしていて加えたい力をかけることができない場合に、人4の操作後のロボットアーム5の振舞いに不満があることを変更条件設定部82で判断して、力をアシストすることが可能となる。
図31の16はアシスト値算出部であり、図29の補正方法に記載された「定数補正」の値をアシスト値算出部16で算出する。上述したとおり、変更条件設定部82によりは、人4が短時間に何度も操作しており、且つ、人4補正した力の値が補正前の値から変化している場合には、人4の操作後のロボットアーム5の力の加え方に満足していない場合と変更条件設定部82によりで判断して補正を動作補正部20で行う。動作補正部20での補正後、人4がまだ満足しない場合は、さらに人4が短時間に何度も同様の操作を行う。そのため、人4の操作の回数に応じて「定数補正」を変更条件設定部82で算出することで、操作回数が多い場合には、動作補正部20からの制御によりアシスト値算出部16で、1回の補正における補正値を大きくすることができ、人4の操作回数を削減することができる。
アシスト値算出部16は、具体的には、図35の表に従い、操作回数に応じて、アシスト値を決定する。操作回数としては、変更条件設定部82から先ほど算出した操作回数をアシスト値算出部16で入力する。アシスト値算出部16で決定した補正値を、図29の「補正方法」の「定数補正」の値に記憶する。
以上により、人4の操作後のロボットアーム5の振舞いに不満があることを変更条件設定部82で判断して、アシスト値算出部16で力をアシストすることが可能となり、さらに、アシストする値を操作回数に応じてアシスト値算出部16で決定することで、人4の操作回数を削減することができる。
(第9実施形態)
本発明の第9実施形態における、ロボットアームの制御装置の基本的な構成は、第1実施形態の場合と同様であるので、共通部分の説明は省略し、異なる部分についてのみ以下、詳細に説明する。
本発明の第9実施形態における、ロボットアームの制御装置の基本的な構成は、第1実施形態の場合と同様であるので、共通部分の説明は省略し、異なる部分についてのみ以下、詳細に説明する。
第1実施形態の場合と同様に、図32Aに示すように、ロボットシステム1を使って鍋3のかき混ぜ作業をする場合を例に説明する。
ロボットアーム5が、例えば図4A又は図4Bの「作業ID」の「2」で、図32Aに示すように、鍋3のかき混ぜ作業をしている最中に、人4が鍋3の具材の状態を確認し、図32Bに示すように、もう少し速くかき混ぜるために、人4がロボットアーム5を把持してロボットアーム5の手先位置が速く移動するように、ロボットアーム5を速く移動させる。動作補正部20により、人4が補正した速度で、ロボットアーム5の動作を補正し、ロボットアーム5は補正前よりは速くかき混ぜる作業を行う。
以上のような動作補正部20による補正は、人4が操作した速度で動作情報の補正を行うために、人4が高齢者又は障害者又は子供などである場合に、そのような人4がロボットアーム5の操作をしていて、補正したい速度でロボットアーム5の操作ができない場合は、ロボットアーム5の動作を補正をすることができない。そこで、後述する動作補正情報データベース18の情報と動作補正部20の動作とにより、人4が、ロボットアーム5を操作したい速度に補正することが可能となる。
-動作補正情報データベース-
図33は、動作補正情報データベース18を示す。動作補正情報を識別するIDである動作補正情報ID番号(図33の「動作補正情報ID」の欄参照)と、補正区間(図33の「補正区間」の欄参照)に関する情報であり、不満区間検出のための情報(図33の「不満区間」の欄参照)である、操作時間に関する情報(図33の「時間」の欄参照)と、操作回数の上限値に関する情報(図33の「回数(上限)」の欄参照)と、操作回数の下限値に関する情報(図33の「回数(下限)」の欄参照)と、人4が操作した速度が補正前から変化しており、その変化値の閾値に関する情報(図33の「速度変化の閾値」の欄参照)(速度用の閾値)である。さらに動作情報の補正方法に関する情報(図33の「補正方法」の欄参照)と、「動作補正情報ID」で示されたIDの動作補正情報をどの作業に適応するかを識別するための識別番号である「作業ID」(図33の「作業ID」の欄参照)とを有するように構成される。「作業ID」は、動作情報データベース17の「作業ID」のいずれかの値であり、複数の作業に適応する補正情報である場合には図33の「動作補正情報ID」「2」のように、「2,3」と複数のIDを記憶することができる。
図33は、動作補正情報データベース18を示す。動作補正情報を識別するIDである動作補正情報ID番号(図33の「動作補正情報ID」の欄参照)と、補正区間(図33の「補正区間」の欄参照)に関する情報であり、不満区間検出のための情報(図33の「不満区間」の欄参照)である、操作時間に関する情報(図33の「時間」の欄参照)と、操作回数の上限値に関する情報(図33の「回数(上限)」の欄参照)と、操作回数の下限値に関する情報(図33の「回数(下限)」の欄参照)と、人4が操作した速度が補正前から変化しており、その変化値の閾値に関する情報(図33の「速度変化の閾値」の欄参照)(速度用の閾値)である。さらに動作情報の補正方法に関する情報(図33の「補正方法」の欄参照)と、「動作補正情報ID」で示されたIDの動作補正情報をどの作業に適応するかを識別するための識別番号である「作業ID」(図33の「作業ID」の欄参照)とを有するように構成される。「作業ID」は、動作情報データベース17の「作業ID」のいずれかの値であり、複数の作業に適応する補正情報である場合には図33の「動作補正情報ID」「2」のように、「2,3」と複数のIDを記憶することができる。
-変更条件設定部及び動作補正部-
動作補正部20は、第1実施形態と同様に、人4が、データ入力IF26により、動作情報データベース17の作業の中の「作業ID」に関する作業の中からロボットアーム5に実行させたい作業を選択して、選択情報を動作指令部27に入力して指定する。人4がデータ入力IF26により指定した「作業ID」の作業の作業選択の指令を動作指令部27が受けて、動作指令部27から変更条件設定部82と動作補正部20とに作業選択の指示を行うことにより、作業を選択する。動作情報データベース17の作業の中の選択された作業の「フラグ」により制御モードを動作補正部20が設定する。そして、設定した制御モードで動作するように、制御パラメータ管理部21へ動作指令部27から指令を出す。人4が補正開始の指示をデータ入力IF26により動作指令部27へ入力すると、動作指令部27を介して動作補正部20は、動作情報データベース17の「補正パラメータフラグ」により制御モードを設定し、設定した制御モードで動作するよう制御パラメータ管理部21へ指令を出す。人4が補正を開始した時点から終了する時点までのロボットアーム5の手先位置及び姿勢を、ある一定時間毎(例えば0.2秒毎)に変更条件設定部82で取得する。補正の開始した時点から終了するまでの時点のデータを識別するために、「操作ID」という番号を付与して記憶する。具体例として、変更条件設定部82で取得したデータを図34に示す。図34の「操作ID」と手先の「位置姿勢」と「日時」とは、第8実施形態の場合と同様である。また、取得した図34のデータは、第8実施形態の場合と同様に、操作履歴情報として、図31の動作記憶部15により、操作履歴情報データベース19に記憶される。
動作補正部20は、第1実施形態と同様に、人4が、データ入力IF26により、動作情報データベース17の作業の中の「作業ID」に関する作業の中からロボットアーム5に実行させたい作業を選択して、選択情報を動作指令部27に入力して指定する。人4がデータ入力IF26により指定した「作業ID」の作業の作業選択の指令を動作指令部27が受けて、動作指令部27から変更条件設定部82と動作補正部20とに作業選択の指示を行うことにより、作業を選択する。動作情報データベース17の作業の中の選択された作業の「フラグ」により制御モードを動作補正部20が設定する。そして、設定した制御モードで動作するように、制御パラメータ管理部21へ動作指令部27から指令を出す。人4が補正開始の指示をデータ入力IF26により動作指令部27へ入力すると、動作指令部27を介して動作補正部20は、動作情報データベース17の「補正パラメータフラグ」により制御モードを設定し、設定した制御モードで動作するよう制御パラメータ管理部21へ指令を出す。人4が補正を開始した時点から終了する時点までのロボットアーム5の手先位置及び姿勢を、ある一定時間毎(例えば0.2秒毎)に変更条件設定部82で取得する。補正の開始した時点から終了するまでの時点のデータを識別するために、「操作ID」という番号を付与して記憶する。具体例として、変更条件設定部82で取得したデータを図34に示す。図34の「操作ID」と手先の「位置姿勢」と「日時」とは、第8実施形態の場合と同様である。また、取得した図34のデータは、第8実施形態の場合と同様に、操作履歴情報として、図31の動作記憶部15により、操作履歴情報データベース19に記憶される。
変更条件設定部82は、操作履歴情報により、人4が希望の速度で操作することができない状態であるかどうかを検出する。
まず、現在補正中の操作履歴情報の操作IDの日時から、動作補正情報データベース18の「補正区間」の「時間」を減じた時点以降の操作IDから現在補正中の操作IDまでの総数が、「補正区間」の「回数(下限)」以上、「回数(上限)」以下かどうかを変更条件設定部82で調べる。なお、現在操作中の操作IDは、補正している現在時刻が、操作履歴情報の日時に合致する操作IDとする。操作IDの総数がこの範囲内(「補正区間」の「回数(下限)」以上「回数(上限)」以下)に入っている場合は、人4が短時間に何度も操作していると変更条件設定部82で判断できることから、人4の操作後のロボットアーム5の振舞いに何らかの不満を持っていると変更条件設定部82で判断する。
次に、不満がある箇所の特定を変更条件設定部82で行う。「補正区間」の「回数(下限)」以上、「回数(上限)」以下に入っている操作IDの「速度」と補正前の「速度」との差異が「補正区間」の「速度変化の閾値」以上あるかどうかを変更条件設定部82で求める。「速度」は、手先の位置姿勢と次の手先の位置姿勢との差をそれぞれの日時の差で変更条件設定部82で除した値である。
速度の差異が閾値以上あるパラメータの操作について、人4の操作後のロボットアーム5の振舞い、すなわち、速度の補正の仕方に不満があると変更条件設定部82で判断する。不満があると変更条件設定部82で判断された場合は、図33の「補正方法」で記述された補正を動作補正部20で行う。
具体的には、図34の例で、補正中の現在時刻が「2008/8/1 15時36分33秒」の場合は、操作履歴情報の「日時」の中で、「操作ID」が「3」の「ID」が「11」と合致するので、現在補正中の操作の操作IDは「3」となる。次に、「操作ID」が「3」、「ID」が「11」の「日時」から、動作補正情報データベース18の「補正区間」の「時間」を変更条件設定部82で減じる。図33の例では、「2008/8/1 15時36分33秒」から、「補正区間」の「時間」すなわち30秒を変更条件設定部82で減じると、「2008/8/1 15時36分03秒」となる。「2008/8/1 15時36分03秒」から「2008/8/1 15時36分33秒」までの区間には、操作IDの「1」と「2」と「3」とが入るので、操作IDの総数は「3」となる。この総数「3」が、動作補正情報データベース18の「補正区間」の「回数(下限)」以上、「回数(上限)」以下であるかどうかを変更条件設定部82で調べる。この例では、「回数(下限)」は「3」、「回数(上限)」は「10」なので、「3」はこの範囲に入る。
以上の変更条件設定部82での計算により、人4が短時間に何度も操作していると変更条件設定部82で判断できることから、人4の操作後のロボットアーム5の振舞いに何らかの不満を持っていると変更条件設定部82で判断する。
次に、不満がある箇所の特定を変更条件設定部82で行う。「補正区間」の「回数(下限)」以上、「回数(上限)」以下に入っている操作IDの「速度」と補正前の「速度」との差異を変更条件設定部82で求める。例えば、かき混ぜ作業の動作中の「速度」のz成分が0.5(m/sec)で、人4の補正中の「速度」のz成分が0.9(m/sec)である場合に、両者の差(この例では0.4(m/sec))が、「補正区間」の速度変化の閾値(図29では「0.3」(m/sec))以上あるので、人4が補正した速度に不満があると変更条件設定部82で判断する。
次に、前記のように不満がある箇所の補正を動作補正部20で行う。図33の「補正方法」において、「定数補正0.5(m/sec)」と記載されている場合は、人4の補正中の「速度」に補正方法で記述された補正値(この例では、0.5(m/sec))を変更条件設定部82で加算して動作補正部20で補正する。
以上の動作補正部20での補正により、人4が高齢者又は障害者又は子供などである場合、そのような人4が操作をしていて補正したい速度で操作ができない場合に、人4の操作後のロボットアーム5の振舞いに不満があることを変更条件設定部82で判断して、速度をアシストすることが可能となる。
図31の16はアシスト値算出部であり、図33の補正方法に記載された「定数補正」の値をアシスト値算出部16で算出する。上述したとおり、変更条件設定部82によりは、人4が短時間に何度も操作しており、且つ、人4補正した速度の値が補正前の値から変化している場合には、人4の操作後のロボットアームの速度に満足していない場合と変更条件設定部82によりで判断して補正を動作補正部20で行う。動作補正部20での補正後、人4がまだ満足しない場合は、さらに人4が短時間に何度も同様の操作を行う。そのため、人4の操作の回数に応じて「定数補正」を変更条件設定部82によりで算出することで、操作回数が多い場合には、動作補正部20からの制御によりアシスト値算出部16で、1回の補正における補正値を大きくすることができ、人4の操作回数を削減することができる。
アシスト値算出部16は、具体的には、図36の表に従い、操作回数に応じて、アシスト値を決定する。操作回数としては、変更条件設定部82によりから先ほど算出した操作回数をアシスト値算出部16で入力する。アシスト値算出部16で決定した補正値を、図33の「補正方法」の「定数補正」の値に記憶する。
以上により、人4の操作後のロボットアーム5の振舞いに不満があることを変更条件設定部82で判断して、アシスト値算出部16で速度をアシストすることが可能となり、さらに、アシストする値を操作回数に応じてアシスト値算出部16で決定することで、人4の操作回数を削減することができる。
さらに、図33に加えて、図37の動作補正情報データベース18を記憶していた場合を説明する。図37は、人4の操作回数がある閾値の範囲内の場合は、速度又は力のアシストなどの補正を動作補正部20で行うが、その範囲を超えてさらに人4が操作をしていた場合には、動作補正部20で補正をしても人4が満足していないと変更条件設定部82によりで判断する。この場合は、補正前の動作で動作するように動作を動作補正部20で補正する。
図37において、動作補正情報を識別するIDである動作補正情報ID番号(図37の「動作補正情報ID」の欄参照)と、補正区間に関する情報(図37の「補正区間」の欄参照)であり、不満区間検出のための情報(図37の「不満区間」の欄参照)である、操作時間に関する情報(図37の「時間」の欄参照)と、操作回数の上限値に関する情報(図37の「回数(上限)」の欄参照)と、操作回数の下限値に関する情報(図37の「回数(下限)」の欄参照)である。上限値、下限値が−1である場合は、適応しない。さらに動作情報の補正方法に関する情報(図37の「補正方法」の欄参照)と、「動作補正情報ID」で示されたIDの動作補正情報をどの作業に適応するかを識別するための識別番号である「作業ID」(図37の「作業ID」の欄参照)とを有するように構成される。
既に記載した方法で、操作履歴情報により、人4の操作回数の総数を変更条件設定部82によりで算出する。変更条件設定部82によりで算出した操作回数が、「補正区間」の「回数(下限)」以上、「回数(上限)」以下かどうかを変更条件設定部82によりで調べる。図37の場合は、「回数(上限)」が−1なので、変更条件設定部82によりでは適応せず、「回数(下限)」以上、すなわち、「11」回以上操作した場合には、補正をしても人4が満足していないと変更条件設定部82によりで判断する。この場合は、「補正方法」に記述された方法で動作を動作補正部20で補正する。図37では、「補正なし」とあるので、人4が入力した動作を変更せずに、そのままの動作として動作補正部20で補正する。
以上により、動作補正部20が補正をした動作について、人4が満足しない場合は、動作補正部20で、補正をせずに動作させることが可能となる。
(第10実施形態)
本発明の第10実施形態における、ロボットアームの制御装置の基本的な構成は、第1実施形態の場合と同様であるので、共通部分の説明は省略し、異なる部分についてのみ以下、詳細に説明する。
本発明の第10実施形態における、ロボットアームの制御装置の基本的な構成は、第1実施形態の場合と同様であるので、共通部分の説明は省略し、異なる部分についてのみ以下、詳細に説明する。
図42は、この第10実施形態におけるロボットシステム1を構成する、制御対象であるロボットアーム5と、ロボットアーム5の制御装置70との詳細構成を示す図である。図42において、ロボットアーム5と、周辺装置14と、動作指令部27と、動作情報データベース17と、動作補正情報データベース18とは、第1実施形態の場合と同様であるので、説明は省略する。
-補正履歴情報データベース-
図42の補正履歴情報データベース28には、第1実施形態から第9実施形態のそれぞれの動作補正情報データベース18のうち、補正時にどの実施形態に対応するデータベース18を適応したかを記憶する。言い換えれば、この第10実施形態の動作補正情報データベース18には、第1実施形態から第9実施形態のそれぞれの動作補正情報データベース18の情報が記憶されている。具体的には図43A及び図43Bに示す。図43Aの「動作補正情報ID」と、「補正区間」と、「補正方法」と、「作業ID」とは第2実施形態と同様である。図43Bの「動作補正情報ID」と、「補正区間」と、「補正方法」と、「作業ID」とは第5実施形態と同様である。「適応回数」は、それぞれの動作補正情報のうち、動作補正時に適応した回数である。例えば、動作情報データベース18に、図43Aと図43Bとの両方の動作補正情報を記憶していた場合に、それぞれの動作補正情報の条件に合致して動作補正を行った場合には、変更条件設定部82により、「適応回数」を「1」だけ加算して記憶する。図43Aの「適応回数」が「0」であることから、第2実施形態で説明した、ある閾値以上連続して操作していない区間を削除する補正方法なので、人4は、ある閾値以上連続して操作していることを表す。さらに、図43Bでの「適応回数」は「3」であることから、第5実施形態で説明したロボットアーム5の動作につられて、動作パラメータが偏った箇所の補正方法を適応したことになる。補正履歴情報データベースに28により、人4の操作に対して助言を表示部2に表示する。具体的には、補正履歴情報データベース28の「適応回数」のうち、最も回数の多い動作補正情報に関する情報と、その動作補正情報に関する、人4の操作に関する助言を表示部2に動作補正部20で表示する。表示部2の具体例を図44に示す。表示部2を左右の2画面で表示し、左側の図44の(a)の画面に、動作情報で記述されたロボットアーム5の動作が映像若しくは写真若しくはテキストで表示される。さらに、右側の図44の(b)の画面には、最も回数の多い動作補正情報に関する情報と、その動作補正情報に関する、人4の操作に対する助言に関する情報を映像若しくは写真若しくはテキストで表示する。また、動作補正部20により、表示部2では、動作指令部27で作業を切り替えた場合、又は、補正が終わる時点で、表示する内容を切り替える。なお、この例では、映像若しくは写真、テキストとしたが、動作を説明する音声などでも良い。
図42の補正履歴情報データベース28には、第1実施形態から第9実施形態のそれぞれの動作補正情報データベース18のうち、補正時にどの実施形態に対応するデータベース18を適応したかを記憶する。言い換えれば、この第10実施形態の動作補正情報データベース18には、第1実施形態から第9実施形態のそれぞれの動作補正情報データベース18の情報が記憶されている。具体的には図43A及び図43Bに示す。図43Aの「動作補正情報ID」と、「補正区間」と、「補正方法」と、「作業ID」とは第2実施形態と同様である。図43Bの「動作補正情報ID」と、「補正区間」と、「補正方法」と、「作業ID」とは第5実施形態と同様である。「適応回数」は、それぞれの動作補正情報のうち、動作補正時に適応した回数である。例えば、動作情報データベース18に、図43Aと図43Bとの両方の動作補正情報を記憶していた場合に、それぞれの動作補正情報の条件に合致して動作補正を行った場合には、変更条件設定部82により、「適応回数」を「1」だけ加算して記憶する。図43Aの「適応回数」が「0」であることから、第2実施形態で説明した、ある閾値以上連続して操作していない区間を削除する補正方法なので、人4は、ある閾値以上連続して操作していることを表す。さらに、図43Bでの「適応回数」は「3」であることから、第5実施形態で説明したロボットアーム5の動作につられて、動作パラメータが偏った箇所の補正方法を適応したことになる。補正履歴情報データベースに28により、人4の操作に対して助言を表示部2に表示する。具体的には、補正履歴情報データベース28の「適応回数」のうち、最も回数の多い動作補正情報に関する情報と、その動作補正情報に関する、人4の操作に関する助言を表示部2に動作補正部20で表示する。表示部2の具体例を図44に示す。表示部2を左右の2画面で表示し、左側の図44の(a)の画面に、動作情報で記述されたロボットアーム5の動作が映像若しくは写真若しくはテキストで表示される。さらに、右側の図44の(b)の画面には、最も回数の多い動作補正情報に関する情報と、その動作補正情報に関する、人4の操作に対する助言に関する情報を映像若しくは写真若しくはテキストで表示する。また、動作補正部20により、表示部2では、動作指令部27で作業を切り替えた場合、又は、補正が終わる時点で、表示する内容を切り替える。なお、この例では、映像若しくは写真、テキストとしたが、動作を説明する音声などでも良い。
(第11実施形態)
本発明の第11実施形態における、ロボットアームの制御装置の基本的な構成は、第1実施形態の場合と同様であるので、共通部分の説明は省略し、異なる部分についてのみ以下、詳細に説明する。
本発明の第11実施形態における、ロボットアームの制御装置の基本的な構成は、第1実施形態の場合と同様であるので、共通部分の説明は省略し、異なる部分についてのみ以下、詳細に説明する。
この第11実施の形態では、第1実施形態から第9実施形態で述べたそれぞれの補正方法を同時に使用して補正する場合を例に説明する。なお、それぞれの補正方法については、第1実施形態から第9実施形態に詳細にて説明しているので、説明は省略する。
動作補正部20は、第1実施形態から第9実施形態で述べたそれぞれの補正方法を図46に示すフローチャートの順序で補正を行う。
図46において、まず、人4の補正が開始されると、第1実施形態で説明した「開始・終了時削除」の補正を動作補正部20で行う(ステップS101)。
次に、第3実施形態で説明した「衝突時削除」の補正を動作補正部20で行う(ステップS102)。
次に、第2実施形態で説明した「人の加えた力がある閾値以上であることが、ある閾値以上の時間継続しないなら削除」の補正を動作補正部20で行う(ステップS103)。
次に、第4実施形態で説明した「補正方法種別決定部で決定した種別のみを補正」の補正を動作補正部20で行う(ステップS104)。
次に、第7実施形態で説明した「可動範囲補正」の補正を動作補正部20で行う(ステップS105)。
次に、第8実施形態で説明した「力アシスト」の補正を動作補正部20で行う(ステップS106)。
次に、第9実施形態で説明した「速度アシスト」の補正を動作補正部20で行う(ステップS107)。
次に、第5実施形態で説明した「偏り平均化」の補正を動作補正部20で行う(ステップS108)。
次に、第6実施形態で説明した「繰り返し平均化」の補正を動作補正部20で行う(ステップS109)。
なお、ステップS101からステップS104は、人4が補正した動作のいずれかの部分を削除するタイプの補正方法であり、ステップS105〜ステップS109の補正方法より先に適応することで、無駄な動作区間を省くことができるとともに、例えば、ステップS109などの繰り返し部分を抽出する精度が向上したり、また、より高速に補正することが可能となる。また、ステップS101〜ステップS104の順序については、ステップS101を一番初めに補正することで、ステップS102〜ステップS104の補正の精度向上又は高速処理が可能となる。
さらに、ステップS106とステップS107については、順番を入れ替えても特に問題はない。
以上により、第1実施形態から第9実施形態で述べたそれぞれの補正方法を同時に使用して補正する場合において、削除するタイプの補正方法を先に適応することで、補正精度又は処理速度の向上を図ることが可能となる。
なお、前記第1〜第10実施形態では、ロボットアーム5を例に説明したが、本発明は、アームに限らず、車輪により動く移動ロボット、又は、2足歩行ロボット、多足歩行ロボットなどにも適用することができ、移動ロボットなどと人間との接触に関して同様の効果を発揮する。
さらに、前記様々な実施形態のうちの任意の実施形態を適宜組み合わせることにより、それぞれの有する効果を奏するようにすることができる。
本発明は、家庭用ロボットなど人とロボットが協調して作業を行う際のロボットアームの動作の制御を行なうロボットアームの制御装置及び制御方法、前記ロボットアームの制御装置を有するロボット、ロボットアームの制御プログラム、並びに、集積電子回路として有用である。また、家庭用ロボットに限らず、産業用ロボット、又は、生産設備等における可動機構のロボットアームの制御装置及び制御方法、前記ロボットアームの制御装置を有するロボット、ロボットアームの制御プログラム、並びに、集積電子回路としても適用が可能である。
本発明は、添付図面を参照しながら好ましい実施形態に関連して充分に記載されているが、この技術の熟練した人々にとっては種々の変形又は修正は明白である。そのような変形又は修正は、添付した請求の範囲による本発明の範囲から外れない限りにおいて、その中に含まれると理解されるべきである。
Claims (15)
- ロボットアームの動作を制御して前記ロボットアームによる作業を行うロボットアームの制御装置であって、
前記動作に対応する、前記ロボットアームの位置と姿勢と速度と力のうちの少なくとも1つ以上の時系列の動作情報を取得する動作情報取得部と、
前記動作情報を補正するために予め設定された、前記ロボットアームの前記動作の補正方法に関する動作補正情報を取得する動作補正情報取得部と、
前記ロボットアームを前記動作情報に基づいて動作するとともに、前記ロボットアームの動作中に、前記ロボットアームに前記人の力が加えられることにより、前記ロボットアームが前記人の操作により動作を補正できないよう制御する制御モードから前記ロボットアームの動作を前記人の操作により補正できる制御モードに切り替えた後に、前記ロボットアームに加えられた前記人の力と、動作中の前記ロボットアームの前記動作情報と、前記動作補正情報とから、前記人の操作によって前記ロボットアームの動作を変更するときの変更条件を設定する変更条件設定部と、
前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合に、前記動作情報取得部で取得した前記ロボットアームの位置と姿勢と速度と力のうちの少なくとも1つ以上の前記動作情報を、前記動作補正情報に従って、補正する動作補正部とを備えて、
前記動作補正情報は、前記人の前記ロボットアームへの前記人の操作に対する前記動作情報のうち、一部の区間を削除して補正するよう記述された補正方法に関する動作補正情報であり、
前記動作補正部により補正された前記動作情報に基づいて、前記ロボットアームの前記動作を制御するロボットアームの制御装置。 - 前記ロボットアームに外部から加えられた力を検出する力検出部をさらに備え、
前記動作情報取得部で取得した前記動作情報は、前記ロボットアームが行う前記動作に応じて、それぞれの時間での、前記ロボットアームの手先の位置情報と、前記ロボットアームの姿勢情報と、前記ロボットアームの速度情報と、前記ロボットアームの手先にかかる力の情報とのうちの少なくとも1つの情報であり、
前記動作補正部により、前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合でかつ前記ロボットアームの動作中に、前記力検出部で検出された前記人の力と、前記動作補正情報とに応じて、前記動作情報取得部で取得した前記動作情報を補正するとき、前記ロボットアームが行う前記動作に応じて、それぞれの時間での前記位置情報又は前記姿勢情報又は前記速度情報又は前記力の情報のうち少なくとも1つ以上の情報を使用して、前記動作情報取得部で取得した前記動作情報を補正する請求項1に記載のロボットアームの制御装置。 - 前記ロボットアームに外部から加えられた力を検出する力検出部をさらに備え、
前記動作補正情報取得部で取得した前記動作補正情報は、前記人が前記ロボットアームを操作し始めてからある時間経過した区間と、前記人が前記ロボットアームの操作を終了する直前の区間のうち、少なくとも1つの区間を削除して補正する補正方法であり、
前記動作補正部は、
前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合でかつ前記ロボットアームの動作中に、前記力検出部で検出された前記人の力と、
(I)前記人が前記ロボットアームを操作し始めてからある時間経過した区間と、
(II)前記人が前記ロボットアームの操作を終了する直前の区間とのうち、前記(I)及び(II)の少なくとも1つの区間を削除して補正する補正方法により、前記動作情報取得部で取得した前記動作情報を補正し、前記(I)又は(II)の区間の長さは、前記ロボットアームの速度に応じて決定する請求項1に記載のロボットアームの制御装置。 - 前記ロボットアームに外部から加えられた力を検出する力検出部をさらに備え、
前記動作補正情報は、前記人の力が力用の閾値以上でありかつ時間用の閾値以上の時間が継続する区間以外を削除して補正する補正方法であり、
前記動作補正部は、前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合でかつ前記ロボットアームの前記動作中に、前記力検出部で検出された前記人の力と、前記人の力が前記力用の閾値以上であることが、前記時間用の閾値以上の時間が継続する区間以外を削除して補正する補正方法により、前記動作情報取得部で取得した前記動作情報を補正する請求項1に記載のロボットアームの制御装置。 - 前記ロボットアームに外部から加えられた力を検出する力検出部をさらに備え、
前記動作補正情報は、時間用の閾値以下の時間内で、前記人の力が力用の閾値以上である場合は、その時間内の操作区間を削除して補正する補正方法であり、
前記動作補正部は、前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合でかつ前記ロボットアームの前記動作中に、前記力検出部で検出された前記人の力と、前記時間用の閾値以下の時間内で、前記人の力が前記力用の閾値以上である場合は、その時間内の操作区間を削除して補正する補正方法により、前記動作情報取得部で取得した前記動作情報を補正する請求項1に記載のロボットアームの制御装置。 - 前記ロボットアームに外部から加えられた力を検出する力検出部と、
前記動作情報取得部で取得した前記動作情報のうち補正の対象となるパラメータの種別を決定する補正方法種別決定部とをさらに備え、
前記動作補正情報は、前記補正方法種別決定部で決定した種別以外のパラメータを削除して補正する補正方法であり、
前記動作補正部は、前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合でかつ前記ロボットアームの前記動作中に、前記力検出部で検出された前記人の力と、前記補正方法種別決定部で決定した種別以外のパラメータを削除して補正する補正方法により、前記動作情報取得部で取得した前記動作情報を補正する請求項1に記載のロボットアームの制御装置。 - 前記ロボットアームに外部から加えられた力を検出する力検出部をさらに備え、
前記人が前記ロボットアームに対する操作回数の下限閾値以上の回数の操作を継続している場合は、前記力検出部で検出された前記人の力のみで前記動作情報取得部で取得した前記動作情報を補正する請求項1に記載のロボットアームの制御装置。 - 前記ロボットアームに外部から加えられた力を検出する力検出部をさらに備え、
前記動作補正部は、前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合に、前記動作情報に基づいて、
(I)前記ロボットアームが動作中に、前記力検出部で検出されたかつ前記ロボットアームに加わる力に応じて前記ロボットアームが作動するハイブリッドインピーダンス制御モードと、
(II)前記力検出部で検出されかつ、停止している前記ロボットアームに対して前記人から前記ロボットアームに加わる力に応じて、前記ロボットアームが作動するインピーダンス制御モードと、さらに、
(III)指定した力を作用させて動作する力制御モードとの前記3種類の制御モードのうち少なくとも1つ以上の制御モードを前記ロボットアームの関節部の回転軸の方向別に設定するとともに、前記回転軸の方向の少なくとも1つに前記(III)の制御モードが設定して前記ロボットアームを動作させている最中に、前記(III)の制御モードが設定された方向について、前記人の操作時において、前記ロボットアームの動作中に前記人の操作により前記ロボットアームが移動しない制御モードに切り替えて、前記動作情報取得部で取得した前記動作情報のうち前記指定した力を作用させて動作する際の前記力を補正する請求項1に記載のロボットアームの制御装置。 - 前記動作補正部は、前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合に、前記動作情報に基づいて、
(I)前記ロボットアームが動作中に、前記力検出部で検出されかつ前記ロボットアームに加わる力に応じて前記ロボットアームが作動するハイブリッドインピーダンス制御モードと、
(II)前記力検出部で検出されかつ、停止している前記ロボットアームに対して前記人から前記ロボットアームに加わる力に応じて、前記ロボットアームが作動するインピーダンス制御モードと、さらに、
(III)指定した力を作用させて動作する力制御モードとの前記3種類の制御モードのうち少なくとも1つ以上の制御モードを前記ロボットアームの関節部の回転軸の方向別に設定するとともに、前記回転軸の方向の少なくとも1つに前記(II)の制御モードが設定して前記ロボットアームを動作させている最中に、前記(I)若しくは(II)の制御モードが設定された方向について、前記人の操作時において、前記動作補正情報に応じて、前記ハイブリッドインピーダンス制御に切り替えて、前記動作情報取得部で取得した前記動作情報を補正する請求項1に記載のロボットアームの制御装置。 - 前記動作補正部の補正時に適応した前記動作補正情報の履歴に関する情報に基づいて、前記人の操作に対する助言に関する情報を表示する表示部をさらに備える請求項1に記載のロボットアームの制御装置。
- 前記動作補正部は、前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合に、前記人のロボットアームへの前記人の操作に対する前記動作情報のうち、一部の区間を削除して補正するよう記述された補正方法により、前記動作情報取得部で取得した前記動作情報を補正した後で、前記人の前記ロボットアームへの前記人の操作に対する前記動作情報のうち、一部の区間をアシストして補正するよう補正する請求項1に記載のロボットアームの制御装置。
- ロボットアームの動作を制御して前記ロボットアームによる作業を行うロボットアームの制御方法であって、
前記動作に対応する、前記ロボットアームの位置と姿勢と速度と力のうちの少なくとも1つ以上の時系列の動作情報を動作情報取得部で取得し、
前記動作情報を補正するために予め設定された、前記ロボットアームの前記動作の補正方法に関する動作補正情報を動作補正情報取得部で取得し、
前記ロボットアームを前記動作情報に基づいて動作するとともに、前記ロボットアームの動作中に、前記ロボットアームに前記人の力が加えられることにより、前記ロボットアームが前記人の操作により動作を補正できないよう制御する制御モードから前記ロボットアームの動作を前記人の操作により補正できる制御モードに切り替えた後に、前記ロボットアームに加えられた前記人の力と、動作中の前記ロボットアームの前記動作情報と、前記動作補正情報とから、前記人の操作によって前記ロボットアームの動作を変更するときの変更条件を変更条件設定部で設定し、
前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合に、前記動作情報取得部で取得した前記ロボットアームの位置と姿勢と速度と力のうちの少なくとも1つ以上の前記動作情報を、前記動作補正情報に従って、動作補正部で補正し、
前記動作補正情報は、前記人の前記ロボットアームへの前記人の操作に対する前記動作情報のうち、一部の区間を削除して補正するよう記述された補正方法に関する動作補正情報であって、前記動作補正部により補正された前記動作情報に基づいて、前記ロボットアームの前記動作を制御するロボットアームの制御方法。 - 前記ロボットアームと、
前記ロボットアームの前記動作を制御する請求項1〜11のいずれか1つに記載のロボットアームの制御装置を有するロボット。 - ロボットアームの動作を制御して前記ロボットアームによる作業を行うロボットアームの制御プログラムであって、
前記動作に対応する、前記ロボットアームの位置と姿勢と速度と力のうちの少なくとも1つ以上の時系列の動作情報を動作情報取得部で取得するステップと、
前記動作情報を補正するために予め設定された、前記ロボットアームの前記動作の補正方法に関する動作補正情報を動作補正情報取得部で取得するステップと、
前記ロボットアームを前記動作情報に基づいて動作するとともに、前記ロボットアームの動作中に、前記ロボットアームに前記人の力が加えられることにより、前記ロボットアームが前記人の操作により動作を補正できないよう制御する制御モードから前記ロボットアームの動作を前記人の操作により補正できる制御モードに切り替えた後に、前記ロボットアームに加えられた前記人の力と、動作中の前記ロボットアームの前記動作情報と、前記動作補正情報とから、前記人の操作によって前記ロボットアームの動作を変更するときの変更条件を変更条件設定部で設定するステップと、
前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合に、前記動作情報取得部で取得した前記ロボットアームの位置と姿勢と速度と力のうちの少なくとも1つ以上の前記動作情報を、前記動作補正情報に従って、補正するステップと、
前記動作補正情報は、前記人の前記ロボットアームへの前記人の操作に対する前記動作情報のうち、一部の区間を削除して補正するよう記述された補正方法に関する動作補正情報であって、前記動作補正部により補正された前記動作情報に基づいて、前記ロボットアームの前記動作を制御するステップとをコンピュータに実行させるためのロボットアームの制御プログラム。 - ロボットアームの動作を制御して前記ロボットアームによる作業を行うロボットアームを制御する集積電子回路であって、
前記動作に対応する、前記ロボットアームの位置と姿勢と速度と力のうちの少なくとも1つ以上の時系列の動作情報を動作情報取得部で取得し、
前記動作情報を補正するために予め設定された、前記ロボットアームの前記動作の補正方法に関する動作補正情報を動作補正情報取得部で取得し、
前記ロボットアームを前記動作情報に基づいて動作するとともに、前記ロボットアームの動作中に、前記ロボットアームに前記人の力が加えられることにより、前記ロボットアームが前記人の操作により動作を補正できないよう制御する制御モードから前記ロボットアームの動作を前記人の操作により補正できる制御モードに切り替えた後に、前記ロボットアームに加えられた前記人の力と、動作中の前記ロボットアームの前記動作情報と、前記動作補正情報とから、前記人の操作によって前記ロボットアームの動作を変更するときの変更条件を変更条件設定部で設定し、
前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合に、前記動作情報取得部で取得した前記ロボットアームの位置と姿勢と速度と力のうちの少なくとも1つ以上の前記動作情報を、前記動作補正情報に従って、動作補正部で補正し、
前記動作補正情報は、前記人の前記ロボットアームへの前記人の操作に対する前記動作情報のうち、一部の区間を削除して補正するよう記述された補正方法に関する動作補正情報であって、前記動作補正部により補正された前記動作情報に基づいて、前記ロボットアームの前記動作を制御するロボットアームの集積電子回路。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009011810 | 2009-01-22 | ||
JP2009011810 | 2009-01-22 | ||
PCT/JP2010/000293 WO2010084743A1 (ja) | 2009-01-22 | 2010-01-20 | ロボットアームの制御装置及び制御方法、ロボット、ロボットアームの制御プログラム、並びに、集積電子回路 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010159300A Division JP5325843B2 (ja) | 2009-01-22 | 2010-07-14 | ロボットアームの制御装置及び制御方法、ロボット、ロボットアームの制御プログラム、並びに、集積電子回路 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP4584354B2 true JP4584354B2 (ja) | 2010-11-17 |
JPWO2010084743A1 JPWO2010084743A1 (ja) | 2012-07-19 |
Family
ID=42355800
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010509617A Expired - Fee Related JP4584354B2 (ja) | 2009-01-22 | 2010-01-20 | ロボットアームの制御装置及び制御方法、ロボット、ロボットアームの制御プログラム、並びに、集積電子回路 |
JP2010159300A Expired - Fee Related JP5325843B2 (ja) | 2009-01-22 | 2010-07-14 | ロボットアームの制御装置及び制御方法、ロボット、ロボットアームの制御プログラム、並びに、集積電子回路 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010159300A Expired - Fee Related JP5325843B2 (ja) | 2009-01-22 | 2010-07-14 | ロボットアームの制御装置及び制御方法、ロボット、ロボットアームの制御プログラム、並びに、集積電子回路 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20110015787A1 (ja) |
EP (1) | EP2390064A4 (ja) |
JP (2) | JP4584354B2 (ja) |
CN (1) | CN102066057A (ja) |
WO (1) | WO2010084743A1 (ja) |
Families Citing this family (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9052710B1 (en) * | 2009-03-20 | 2015-06-09 | Exelis Inc. | Manipulation control based upon mimic of human gestures |
JP5583282B2 (ja) * | 2011-08-24 | 2014-09-03 | パナソニック株式会社 | ロボットアームの制御装置及び制御方法、ロボット、ロボットアームの制御プログラム、並びに、集積電子回路 |
JP5516610B2 (ja) * | 2012-01-19 | 2014-06-11 | 株式会社安川電機 | ロボット、ロボットハンドおよびロボットハンドの保持位置調整方法 |
EP3460529A1 (en) | 2012-05-29 | 2019-03-27 | Sun Nuclear Corporation | Method and system for calorimetry probe |
US8996175B2 (en) | 2012-06-21 | 2015-03-31 | Rethink Robotics, Inc. | Training and operating industrial robots |
KR101383726B1 (ko) * | 2012-12-17 | 2014-04-08 | 현대자동차(주) | 로봇의 민감도 향상방법 |
JP5893664B2 (ja) * | 2014-04-14 | 2016-03-23 | ファナック株式会社 | 作用された力に応じて移動されるロボットを制御するロボット制御装置 |
DE102014216514B3 (de) * | 2014-08-20 | 2015-09-10 | Kuka Roboter Gmbh | Verfahren zum Programmieren eines Industrieroboters und zugehöriger Industrieroboter |
US9676097B1 (en) * | 2014-11-11 | 2017-06-13 | X Development Llc | Systems and methods for robotic device authentication |
US10099067B2 (en) | 2014-12-19 | 2018-10-16 | Sun Nuclear Corporation | Radiation therapy dose calculation |
JP5927284B1 (ja) * | 2014-12-22 | 2016-06-01 | ファナック株式会社 | 人との接触力を検出してロボットを停止させるロボット制御装置 |
JP6034895B2 (ja) * | 2015-02-20 | 2016-11-30 | ファナック株式会社 | 外力に応じてロボットを退避動作させる人間協調ロボットシステム |
US10500716B2 (en) * | 2015-04-08 | 2019-12-10 | Beijing Evolver Robotics Co., Ltd. | Multi-functional home service robot |
US10617891B2 (en) | 2015-04-23 | 2020-04-14 | Sun Nuclear Corporation | Radiation detector calibration |
US10456910B2 (en) * | 2016-01-14 | 2019-10-29 | Purdue Research Foundation | Educational systems comprising programmable controllers and methods of teaching therewith |
WO2018023049A1 (en) | 2016-07-28 | 2018-02-01 | Sun Nuclear Corporation | Beam angle direction determination |
CN107962563B (zh) * | 2016-10-20 | 2022-10-04 | 精工爱普生株式会社 | 控制装置、机器人以及机器人系统 |
JP6698007B2 (ja) * | 2016-12-20 | 2020-05-27 | 株式会社クボタ | 自動走行作業車 |
JP6851837B2 (ja) * | 2017-01-20 | 2021-03-31 | キヤノン株式会社 | 制御装置、ロボットシステム、制御方法、プログラム、記録媒体及び物品の製造方法 |
WO2018160763A1 (en) | 2017-02-28 | 2018-09-07 | Sun Nuclear Corporation | Radiation therapy treatment verification with electronic portal imaging device transit images |
CN106891326B (zh) * | 2017-03-22 | 2019-07-16 | 南京航空航天大学 | 一种机器人示教方法 |
US10509415B2 (en) * | 2017-07-27 | 2019-12-17 | Aurora Flight Sciences Corporation | Aircrew automation system and method with integrated imaging and force sensing modalities |
CN107717996B (zh) * | 2017-11-14 | 2018-08-24 | 北京镁伽机器人科技有限公司 | 具有测距停止功能的多关节机器人和测距停止方法 |
CN108068115B (zh) * | 2017-12-30 | 2021-01-12 | 福建铂格智能科技股份公司 | 一种基于视觉反馈的并联机器人位置闭环校准算法 |
JP7091777B2 (ja) | 2018-03-30 | 2022-06-28 | 株式会社安川電機 | ロボットシステム及び制御方法 |
JP7135437B2 (ja) * | 2018-05-22 | 2022-09-13 | セイコーエプソン株式会社 | ロボットシステムの制御方法及びロボットシステム |
US11278744B2 (en) | 2018-09-28 | 2022-03-22 | Sun Nuclear Corporation | Systems and methods to account for tilt of a radiation measurement system |
CN109062032B (zh) * | 2018-10-19 | 2021-08-31 | 江苏省(扬州)数控机床研究院 | 一种基于近似动态逆的机器人pid变阻抗控制方法 |
JP7053443B2 (ja) * | 2018-12-07 | 2022-04-12 | ファナック株式会社 | 操作装置にて手動操作を行うロボットの制御装置 |
CN109822567B (zh) * | 2019-01-21 | 2021-05-04 | 深圳镁伽科技有限公司 | 运动参数的处理方法、装置和系统及存储介质 |
EP3699832A1 (en) * | 2019-02-19 | 2020-08-26 | Tata Consultancy Services Limited | Systems and methods for optimizing scheduling of non-preemptive tasks in multi-robotic environment |
JP6721922B1 (ja) * | 2019-04-23 | 2020-07-15 | Arithmer株式会社 | 指定データ生成装置、指定データ生成方法、および指定データ生成プログラム |
EP3747604B1 (en) * | 2019-06-07 | 2022-01-26 | Robert Bosch GmbH | Robot device controller, robot device arrangement and method for controlling a robot device |
WO2021007459A1 (en) | 2019-07-10 | 2021-01-14 | Sun Nuclear Corporation | Scintillator-based radiation therapy quality assurance |
US11600004B2 (en) | 2019-07-10 | 2023-03-07 | Sun Nuclear Corporation | Image-based radiation therapy quality assurance |
CN114536327A (zh) * | 2022-01-24 | 2022-05-27 | 四川广目科技有限公司 | 一种基于ros系统的智能工业机械臂驱动系统 |
KR20240007812A (ko) * | 2022-07-07 | 2024-01-17 | 현대자동차주식회사 | 중량물 정밀 조립 장치 및 제어방법 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004148466A (ja) * | 2002-10-31 | 2004-05-27 | Yaskawa Electric Corp | ロボット制御装置 |
JP2008110406A (ja) * | 2006-10-27 | 2008-05-15 | Yaskawa Electric Corp | ロボットの直接教示装置 |
JP2008238338A (ja) * | 2007-03-27 | 2008-10-09 | Gifu Univ | 動作支援装置およびその制御方法 |
JP2008296308A (ja) * | 2007-05-30 | 2008-12-11 | Panasonic Corp | 家事支援ロボットアームの移動制御システムおよび移動制御方法および移動制御プログラム |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59157715A (ja) | 1983-02-25 | 1984-09-07 | Hitachi Ltd | ロボツトの直接教示方法 |
JPH02250782A (ja) * | 1989-03-20 | 1990-10-08 | Fanuc Ltd | 産業用ロボットの手動介入方式 |
IL120889A (en) * | 1997-05-22 | 1998-10-30 | Eshed Robotec 1982 Ltd | Method and facility for direct learning of vending machines |
JPH11277468A (ja) * | 1998-03-30 | 1999-10-12 | Denso Corp | ロボットの制御装置 |
JP3110403B2 (ja) * | 1998-11-16 | 2000-11-20 | 技術研究組合医療福祉機器研究所 | マスタスレーブマニピュレータ装置の制御方法とマニピュレータ操作入力のトレーニング方法 |
US6204620B1 (en) * | 1999-12-10 | 2001-03-20 | Fanuc Robotics North America | Method of controlling an intelligent assist device |
US6285920B1 (en) * | 2000-02-18 | 2001-09-04 | Fanuc Robotics North America | Method of robot teaching with motion constraints |
US6385508B1 (en) * | 2000-10-31 | 2002-05-07 | Fanuc Robotics North America, Inc. | Lead-through teach handle assembly and method of teaching a robot assembly |
EP1594022A4 (en) * | 2003-02-14 | 2006-11-02 | Kansai Tech Licensing Org Co | CONTROL SYSTEM WITH VIRTUAL PERFORMANCE MONITOR TO REALIZE THE FUNCTION TO EVALUATE / ANALYZE THE STABILITY OF A TAX OBJECT |
US20060253223A1 (en) * | 2003-12-30 | 2006-11-09 | Vanderbilt University | Robotic trajectories using behavior superposition |
US7979160B2 (en) * | 2007-07-31 | 2011-07-12 | Spirit Aerosystems, Inc. | System and method for robotic accuracy improvement |
US20100256812A1 (en) * | 2008-08-08 | 2010-10-07 | Yuko Tsusaka | Control device and control method for cleaner, cleaner, control program for cleaner, and integrated electronic circuit |
EP2431138A4 (en) * | 2009-01-09 | 2014-06-04 | Panasonic Corp | CONTROL APPARATUS AND CONTROL METHOD FOR ROBOTIC ARM, ROBOT, CONTROL PROGRAM FOR ROBOTIC ARM, AND INTEGRATED ELECTRONIC CIRCUIT |
JP4759660B2 (ja) * | 2009-08-21 | 2011-08-31 | パナソニック株式会社 | ロボットアーム制御用の装置、方法、プログラム及び集積電子回路、並びに、組立ロボット |
-
2010
- 2010-01-20 US US12/920,373 patent/US20110015787A1/en not_active Abandoned
- 2010-01-20 EP EP10733351A patent/EP2390064A4/en not_active Withdrawn
- 2010-01-20 JP JP2010509617A patent/JP4584354B2/ja not_active Expired - Fee Related
- 2010-01-20 CN CN201080001842.9A patent/CN102066057A/zh active Pending
- 2010-01-20 WO PCT/JP2010/000293 patent/WO2010084743A1/ja active Application Filing
- 2010-07-14 JP JP2010159300A patent/JP5325843B2/ja not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004148466A (ja) * | 2002-10-31 | 2004-05-27 | Yaskawa Electric Corp | ロボット制御装置 |
JP2008110406A (ja) * | 2006-10-27 | 2008-05-15 | Yaskawa Electric Corp | ロボットの直接教示装置 |
JP2008238338A (ja) * | 2007-03-27 | 2008-10-09 | Gifu Univ | 動作支援装置およびその制御方法 |
JP2008296308A (ja) * | 2007-05-30 | 2008-12-11 | Panasonic Corp | 家事支援ロボットアームの移動制御システムおよび移動制御方法および移動制御プログラム |
Also Published As
Publication number | Publication date |
---|---|
CN102066057A (zh) | 2011-05-18 |
JPWO2010084743A1 (ja) | 2012-07-19 |
US20110015787A1 (en) | 2011-01-20 |
WO2010084743A1 (ja) | 2010-07-29 |
JP5325843B2 (ja) | 2013-10-23 |
EP2390064A4 (en) | 2013-03-27 |
EP2390064A1 (en) | 2011-11-30 |
JP2010234521A (ja) | 2010-10-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4584354B2 (ja) | ロボットアームの制御装置及び制御方法、ロボット、ロボットアームの制御プログラム、並びに、集積電子回路 | |
JP4568795B2 (ja) | ロボットアームの制御装置及び制御方法、ロボット、ロボットアームの制御プログラム、並びに、集積電子回路 | |
US8175750B2 (en) | Control apparatus and control method for robot arm, robot, control program for robot arm, and robot arm control-purpose integrated electronic circuit | |
JP4759660B2 (ja) | ロボットアーム制御用の装置、方法、プログラム及び集積電子回路、並びに、組立ロボット | |
JP4531126B2 (ja) | ロボットアームの制御装置及び制御方法、ロボット、ロボットアームの制御プログラム、及びロボットアーム制御用集積電子回路 | |
JP5512048B2 (ja) | ロボットアームの制御装置及び制御方法、ロボット、制御プログラム、並びに、集積電子回路 | |
JP4512672B2 (ja) | 掃除機の制御装置及び制御方法、掃除機、掃除機の制御プログラム、及び、集積電子回路 | |
WO2011021376A1 (ja) | ロボットアームの制御装置及び制御方法、家事ロボット、ロボットアームの制御プログラム、及び、ロボットアーム制御用集積電子回路 | |
JP5240046B2 (ja) | ロボットの制御装置及びロボットの制御方法 | |
JP2011000674A (ja) | ロボット制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20100810 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100901 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130910 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |