JP5512048B2 - ロボットアームの制御装置及び制御方法、ロボット、制御プログラム、並びに、集積電子回路 - Google Patents
ロボットアームの制御装置及び制御方法、ロボット、制御プログラム、並びに、集積電子回路 Download PDFInfo
- Publication number
- JP5512048B2 JP5512048B2 JP2013532412A JP2013532412A JP5512048B2 JP 5512048 B2 JP5512048 B2 JP 5512048B2 JP 2013532412 A JP2013532412 A JP 2013532412A JP 2013532412 A JP2013532412 A JP 2013532412A JP 5512048 B2 JP5512048 B2 JP 5512048B2
- Authority
- JP
- Japan
- Prior art keywords
- information
- robot arm
- unit
- teaching
- time
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- 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/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/163—Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
-
- 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/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
-
- 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/36—Nc in input of data, input key till input tape
- G05B2219/36442—Automatically teaching, teach by showing
-
- 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/40391—Human to robot skill transfer
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Manipulator (AREA)
Description
本発明は、ロボットの動作情報を生成、教示するためのロボットアームの制御装置及び制御方法、ロボットアームの制御装置を有するロボット、ロボットアームの制御プログラム、並びに、集積電子回路に関する。
近年、介護ロボット又は家事支援ロボットなどの家庭用ロボットが盛んに開発されるようになってきた。家庭ロボットは、産業用ロボットと異なり、家庭内のロボットの素人が操作するため、動作を簡単に教示できる必要がある。さらに、ロボットが作業する際の動作環境は、家庭に応じて様々であるため、多種多様な家庭環境に柔軟に対応する必要がある。
また、製造現場では多品種少量生産のためモデルチェンジが頻繁に起こる。そのため、多くの工場ではセル生産方式を導入し、人手により作業を行っている。特にフレキシブル基板の挿入作業などのように柔軟物を取り扱う作業は、作業自体が複雑であり、ロボットによる自動化が難しい。将来的に少子高齢化が進み労働人口減少に伴って、現在、人手中心で行っている工場などの作業労働や家庭内の家事及び介護作業をロボットによって支援する意義は大きい。そこで、人手作業を支援するロボットを実現するために、ロボットの素人でも簡単に操作ができ、さらに多種多様に変動する環境においても柔軟にロボットが動作する必要がある。
ロボットの動作を教示する方式としては、主に産業用途ではティーチングペンダント又はプログラミングを使った教示方式がある。しかしながら、これらの方式は、家庭内のロボットの素人が操作することは難しい。さらに、環境変動に対応するために、例えばフレキシブル基板の挿入などのように接触力をフィードバックしながら動作する作業の教示が難しい。一方、ロボットアームを直接把持して操作する直接教示方式がある(特許文献1を参照)。この方式は動かしたい方向にロボットアームを誘導するだけで直感的にロボットの動作を生成することができ、直感操作の観点で、大変有効な方式である。
一方、多種多様な環境でロボットを動作させるために、基本型となるワークの教示データを作成しておいて、環境に変動があった場合に基本型ワークに対する拡大、縮小、又は、組み合わせ(編集)に対して教示データを作成する方式がある(特許文献2を参照)。また、動作軌跡を力センサからのフィードバック信号により修正しながら、ロボットアームを動作させるセンサーフィードバック方式がある(特許文献3を参照)。この方式はロボットにてバリ取りを行う場合などで、力センサの計測値を観測することでバリの発生状況を観察して、バリの状況に応じてロボットの動作を修正することができる。さらに、人がロボットアームを直接把持して人が作業時に行っているセンサーフィードバック則を抽出する方式がある(非特許文献1を参照)。特許文献3及び非特許文献1ともに対象となる環境の状況をセンシングし、フィードバックしながら動作するため、環境変動に柔軟に対応することが可能である。
また、人の熟練技能を評価する方式がある(特許文献4を参照)。
田中健太著「人間の直接教示動作の統計的性質に基づいた折り紙ロボットの目標軌道とセンサーフィードバック則生成法」 日本ロボット学会 Vol.27 No.6(P.685−P.695) 2009年7月
しかしながら、特許文献1においては、ロボットの素人でも簡単に操作ができる反面、例えば工場でのフレキシブル基板挿入作業などのように、動作中に環境が変動する作業には適応できない。特許文献2は、基本型ワークに対する拡大、縮小、又は、組み合わせで対応可能な環境変動には対応できるものの、例えば工場でのフレキシブル基板挿入作業などのように、動作中に環境が変動する作業には適応できない。特許文献3は、動作中に環境が変動する作業に適応可能だが、ティーチングペンダント又はプログラミングを使った教示方式であるため、フレキシブル基板などのように定式化が難しい環境変動に対応するプログラミングが難しい。プログラミングが可能な作業であっても、プログラミング方式では、ロボットの素人には操作が難しい。非特許文献1は、直感操作により人のセンサーフィードバック則を抽出して動作させるため、簡単に操作ができ、且つ、動作中に環境が変動する作業には適応できる。しかしながら、人は環境からのフィードバックをしながら、同じ作業を何度も繰り返し訓練することで熟練してくる。熟練してくると、これまでの訓練経験から予測が働き、環境からのフィードバックがなくてもその作業ができるようになる。例えば、フレキシブル基板を挿入する場合に、フレキシブル基板がコネクタなどの挿入口にどのように接触しているかを目又は力で認知して、挿入方向又は力加減を変更して作業を行っている。しかしながら、熟練してくると、力を感じなくても作業ができるようになってくる。そのため、人がセンサーフィードバックを行っていないため、非特許文献1の方式ではセンサーフィードバックの抽出が困難である。
非熟練者は、人がフレキシブル基板に力を加えながら、どれぐらい曲がるかを手に感じながら教示をするのに対し、熟練者は、どれぐらいの力を加えればフレキシブル基板が曲がるかを、経験により予測できるようになる。熟練するに従って、フレキシブル基板が曲がる際の力を人の手に感じる前に、ロボットアームを移動させるようになる。
ここで、フレキシブル基板の挿入作業についてダイレクトティーチングを用いて、直接教示をした際に、フレキシブル基板に加わる力をプロットしたグラフを図34A及び図34Bに示す。フレキシブル基板に加わる力は、対象物力検出部により検出する。人は教示時にフレキシブル基板に加わる力を把持しているロボットアームを介して手に感じ、手に感じた力に応じてロボットアームを移動させて挿入作業を行っている(センサーフィードバック)。図34Aは非熟練者のデータで、人が力を感じて操作をしているときのグラフである。図34Bは熟練者のデータであり、一部の区間において人が力を感じずに予測を働かせて操作をしているときのグラフである。また、図34C、図34D、図34Eはロボットアームを使って、フレキシブル基板の挿入をしている時の状況を示す。
図34Aの(3)及び図34Bの(5)はフレキシブル基板挿入作業において、挿入完了時に挿入口の奥の面に当たっている箇所を示す(図34Dの状態)。図34Aの(4)は、人が図34Aの(3)の力を感じて、力を緩めている箇所である(図34Eの状態)。一般的に、人間は感覚刺激を受けてから行動を起こすまでの反応時間は200ミリ秒かかることが知られている(工業調査会発行 バーチャルリアリティ学 舘すすむ監修 佐藤誠監修 廣瀬通孝監修 日本バーチャルリアリティ学会編 P.97を参照)。
この例では、図34Aの(3)の感覚刺激を受けて、図34Aの(4)の行動を起こすまでの反応時間は、図34Aの(1)に示すように206ミリ秒である。一方、図34Bの(6)は同様に力を緩めている箇所であるが、図34Bの(5)から図34Bの(6)までの反応時間(2)が84ミリ秒と短い。一般的に反応時間は200ミリ秒かかることから、図34Bの(6)は人が図34Bの(5)の力を感じる前に行動を起こしている箇所である。
さらに、特許文献4では、熟練者の技能を評価し、データベース化しているが、データベース化した熟練者の技能を使って、ロボットアームの動作の生成を行っていない。ロボットアームを使って、人の技能動作を自動で実行させるためには、環境変動をセンシングし、その環境変動に対してどのように動作するかをフィードバック則として抽出する必要がある。さらに、ロボットアームの可動範囲及び制御性能、並びに、配置するセンサーなども考慮して動作を生成する必要がある。
以上のことから、人は熟練してくると、センサーフィードバックで動作せずに、予測を働かせて動作させていることがあるため、直接教示で人の教示データを取得して、非特許文献1に示すように人のフィードバック則を抽出することができない。すなわち、非特許文献1の方式では、フィードバック則が抽出できないため、動作中に周辺環境に変動があったときは対応ができず、環境変動に柔軟な動作生成とはなっていない。
従って、本発明の目的は、このような課題に鑑みてなされたものであり、人が簡単にロボットアームの動作を教示することができ、且つ、環境変動に柔軟な動作生成が可能なロボットアームの制御装置及び制御方法、ロボット、制御プログラム、並びに、集積電子回路を提供することにある。
上記目的を達成するために、本発明は以下のように構成する。
本発明の1つの態様によれば、ロボットアームの動作を制御するロボットアームの制御装置であって、
人が前記ロボットアームを操作して動作の教示を行うときの、時系列の複数の教示情報を取得する第1情報取得部と、
前記ロボットアームの教示時における、(i)反応時間情報と(ii)ばらつき情報とを取得する第2情報取得部と、
前記第2情報取得部で取得した前記反応時間情報と前記ばらつき情報とに基づいて、前記第1情報取得部で取得した前記複数の教示情報の順位を決定する順位決定部と、
前記複数の教示情報と前記順位とに基づいて、前記ロボットアームの前記動作の情報である動作情報を生成する動作生成部とを備え、
前記時系列の教示情報は、前記ロボットアームの位置、姿勢、及び、速度の少なくとも1つ以上で構成され、
前記反応時間情報は、前記ロボットアームで行う作業対象の対象物に前記ロボットアームから加えられる力情報と、前記ロボットアームで行う作業対象の対象物の位置情報と、周辺環境の音情報とのうち、少なくとも1つの情報である知覚情報を前記人が受けてから、前記人が前記ロボットアームの操作をするまでの時間情報であり、
前記ばらつき情報は、時系列における前記教示情報もしくは時系列における前記知覚情報のいずれか1つ以上の情報との時系列におけるばらつき度合に関する情報であり、
前記動作生成部で生成された動作情報に基づいて、前記ロボットアームの前記動作を制御するロボットアームの制御装置を提供する。
人が前記ロボットアームを操作して動作の教示を行うときの、時系列の複数の教示情報を取得する第1情報取得部と、
前記ロボットアームの教示時における、(i)反応時間情報と(ii)ばらつき情報とを取得する第2情報取得部と、
前記第2情報取得部で取得した前記反応時間情報と前記ばらつき情報とに基づいて、前記第1情報取得部で取得した前記複数の教示情報の順位を決定する順位決定部と、
前記複数の教示情報と前記順位とに基づいて、前記ロボットアームの前記動作の情報である動作情報を生成する動作生成部とを備え、
前記時系列の教示情報は、前記ロボットアームの位置、姿勢、及び、速度の少なくとも1つ以上で構成され、
前記反応時間情報は、前記ロボットアームで行う作業対象の対象物に前記ロボットアームから加えられる力情報と、前記ロボットアームで行う作業対象の対象物の位置情報と、周辺環境の音情報とのうち、少なくとも1つの情報である知覚情報を前記人が受けてから、前記人が前記ロボットアームの操作をするまでの時間情報であり、
前記ばらつき情報は、時系列における前記教示情報もしくは時系列における前記知覚情報のいずれか1つ以上の情報との時系列におけるばらつき度合に関する情報であり、
前記動作生成部で生成された動作情報に基づいて、前記ロボットアームの前記動作を制御するロボットアームの制御装置を提供する。
この概括的かつ特定の態様は、システム、方法、集積電子回路、コンピュータプログラム、プログラムを記録したコンピュータ読み取り可能な記録媒体、並びに、制御装置、システム、方法、集積電子回路、コンピュータプログラム、及び、プログラムを記録したコンピュータ読み取り可能な記録媒体の任意の組み合わせにより実現してもよい。
本発明のロボットアームの制御装置及び制御方法、ロボット、及び、ロボットアームの制御プログラム、並びに、集積電子回路によれば、人が簡単にロボットアームの動作を教示することができ、且つ、環境変動に柔軟な動作生成が可能となる。
本発明のこれらと他の目的と特徴は、添付された図面についての実施形態に関連した次の記述から明らかになる。この図面においては、
図1は、本発明の第1実施形態におけるロボットの構成の概要を示す図であり、
図2は、本発明の第1実施形態における周辺装置のデータ入力IFを説明する図であり、
図3Aは、本発明の第1実施形態におけるフレキシブル基板挿入時の教示動作を説明する図であり、
図3Bは、本発明の第1実施形態におけるフレキシブル基板挿入時の教示動作を説明する図であり、
図3Cは、本発明の第1実施形態におけるフレキシブル基板挿入時の教示動作を説明する図であり、
図3Dは、本発明の第1実施形態におけるフレキシブル基板挿入時の教示動作を説明する図であり、
図3Eは、図3Aのフレキシブル基板付近の平面図であり、
図3Fは、図3Bのフレキシブル基板付近の平面図であり、
図3Gは、図3Cのフレキシブル基板付近の平面図であり、
図3Hは、図3Dのフレキシブル基板付近の平面図であり、
図4は、本発明の第1実施形態におけるロボットの詳細構成を示すブロック図であり、
図5Aは、本発明の第1実施形態における座標系に関する図であり、
図5Bは、本発明の第1実施形態における座標系に関する図であり、
図5Cは、本発明の第1実施形態における座標系に関する図であり、
図6は、本発明の第1実施形態における制御装置の制御部の構成を示すブロック図であり、
図7Aは、本発明の第1実施形態におけるフレキシブル基板挿入時の教示動作を説明する図であり、
図7Bは、本発明の第1実施形態におけるフレキシブル基板挿入時の教示動作を説明する図であり、
図7Cは、本発明の第1実施形態におけるフレキシブル基板挿入時の教示動作を説明する図であり、
図7Dは、本発明の第1実施形態におけるフレキシブル基板挿入時の教示動作を説明する図であり、
図8は、本発明の第1実施形態における人の教示時のロボットの動作を説明する図であり、
図9は、本発明の第1実施形態における制御部のフローチャートであり、
図10は、本発明の第1実施形態における教示情報データベースの教示情報の一覧表を説明する図であり、
図11Aは、本発明の第1実施形態における環境情報データベースの環境情報の一覧表を説明する図であり、
図11Bは、本発明の第1実施形態における環境情報データベースの環境種別フラグを説明する図であり、
図12は、本発明の第1実施形態における動作生成部の構成を示す図であり、
図13は、本発明の第1実施形態における動作生成部と制御部の構成を示す図であり、
図14は、本発明の第1実施形態における動作生成部のフローチャートであり、
図15は、本発明の第1実施形態における動作生成部のフローチャートであり、
図16は、本発明の第1実施形態における人の教示時の位置と力の関係を示すグラフであり、
図17Aは、本発明の第1実施形態における人の教示時の位置と力の関係を示すグラフであり、
図17Bは、本発明の第1実施形態における人の教示時の位置と力の関係を示すグラフであり、
図18Aは、本発明の第1実施形態における人の教示時の位置と力の関係を示すグラフであり、
図18Bは、本発明の第1実施形態における人の教示時の位置と力の関係を示すグラフであり、
図18Cは、本発明の第1実施形態における人の教示時の位置と力の関係を示すグラフであり、
図18Dは、本発明の第1実施形態における人の教示時の位置と力の関係を示すグラフであり、
図19は、本発明の第1実施形態における動作生成部と制御部と対象物力検出部の構成を示す図であり、
図20Aは、本発明の第1実施形態におけるフレキシブル基板挿入時の動作を説明する図であり、
図20Bは、本発明の第1実施形態におけるフレキシブル基板挿入時の動作を説明する図であり、
図20Cは、本発明の第1実施形態におけるフレキシブル基板挿入時の動作を説明する図であり、
図20Dは、本発明の第1実施形態におけるフレキシブル基板挿入時の動作を説明する図であり、
図20Eは、図20Aのフレキシブル基板付近の平面図であり、
図20Fは、図20Bのフレキシブル基板付近の平面図であり、
図20Gは、図20Cのフレキシブル基板付近の平面図であり、
図20Hは、図20Dのフレキシブル基板付近の平面図であり、
図21は、本発明の第2実施形態におけるロボットシステムの詳細構成を示すブロック図であり、
図22は、本発明の第2実施形態における教示情報データベースの教示情報の一覧表を説明する図であり、
図23は、本発明の第2実施形態における人の教示時の位置と力の関係を示すグラフであり、
図24Aは、本発明の第2実施形態における人の教示時のロボットの動作を説明する図であり、
図24Bは、本発明の第2実施形態における人の教示時のロボットの動作を説明する図であり、
図25は、本発明の第2実施形態における動作生成部のフローチャートであり、
図26は、本発明の第2実施形態における動作生成部のフローチャートであり、
図27Aは、本発明の第2実施形態における人の教示時の位置と力と対象物位置と音量の関係を示すグラフであり、
図27Bは、本発明の第2実施形態における人の教示時の位置と力と対象物位置と音量の関係を示すグラフであり、
図28Aは、本発明の第2実施形態における人の教示時の位置と力と対象物位置と音量の関係を示すグラフであり、
図28Bは、本発明の第2実施形態における人の教示時の位置と力と対象物位置と音量の関係を示すグラフであり、
図29は、本発明の第2実施形態におけるフレキシブル基板挿入時の動作を説明する図であり、
図30Aは、本発明の第2実施形態における人の教示時の位置と力と対象物位置と音量の関係を示すグラフであり、
図30Bは、本発明の第2実施形態における人の教示時の位置と力と対象物位置と音量の関係を示すグラフであり、
図31は、本発明の第2実施形態におけるばらつき度合検出部で差出したばらつき度合と反応時間検出部で検出した反応時間と順位決定部で決定した順位を示す図であり、
図32Aは、本発明の第2実施形態における人の教示時の位置と力と対象物位置と音量の関係を示すグラフであり、
図32Bは、本発明の第2実施形態における人の教示時の位置と力と対象物位置と音量の関係を示すグラフであり、
図33は、本発明の第2実施形態における動作生成部と制御部と対象物力検出部の構成を示す図であり、
図34Aは、従来における人の教示時の力に関するグラフであり、
図34Bは、従来における人の教示時の力に関するグラフであり、
図34Cは、従来における人の教示時のロボットの動作を説明する図であり、
図34Dは、従来における人の教示時のロボットの動作を説明する図であり、
図34Eは、従来における人の教示時のロボットの動作を説明する図であり、
図35Aは、本発明の第1実施形態におけるフレキシブル基板を説明する図であり、
図35Bは、本発明の第1実施形態におけるフレキシブル基板を説明する図である。
本発明の記述を続ける前に、添付図面において同じ部品については同じ参照符号を付している。
以下に、本発明にかかる実施の形態を図面に基づいて詳細に説明する。
以下に、本発明にかかる実施の形態を図面に基づいて詳細に説明する。
以下、図面を参照して本発明における実施形態を詳細に説明する前に、本発明の種々の態様について説明する。
本発明の第1態様によれば、ロボットアームの動作を制御するロボットアームの制御装置であって、
人が前記ロボットアームを操作して動作の教示を行うときの、時系列の複数の教示情報を取得する第1情報取得部と、
前記ロボットアームの教示時における、(i)反応時間情報と(ii)ばらつき情報とを取得する第2情報取得部と、
前記第2情報取得部で取得した前記反応時間情報と前記ばらつき情報とに基づいて、前記第1情報取得部で取得した前記複数の教示情報の順位を決定する順位決定部と、
前記複数の教示情報と前記順位とに基づいて、前記ロボットアームの前記動作の情報である動作情報を生成する動作生成部とを備え、
前記時系列の教示情報は、前記ロボットアームの位置、姿勢、及び、速度の少なくとも1つ以上で構成され、
前記反応時間情報は、前記ロボットアームで行う作業対象の対象物に前記ロボットアームから加えられる力情報と、前記ロボットアームで行う作業対象の対象物の位置情報と、周辺環境の音情報とのうち、少なくとも1つの情報である知覚情報を前記人が受けてから、前記人が前記ロボットアームの操作をするまでの時間情報であり、
前記ばらつき情報は、時系列における前記教示情報もしくは時系列における前記知覚情報のいずれか1つ以上の情報との時系列におけるばらつき度合に関する情報であり、
前記動作生成部で生成された動作情報に基づいて、前記ロボットアームの前記動作を制御するロボットアームの制御装置を提供する。
人が前記ロボットアームを操作して動作の教示を行うときの、時系列の複数の教示情報を取得する第1情報取得部と、
前記ロボットアームの教示時における、(i)反応時間情報と(ii)ばらつき情報とを取得する第2情報取得部と、
前記第2情報取得部で取得した前記反応時間情報と前記ばらつき情報とに基づいて、前記第1情報取得部で取得した前記複数の教示情報の順位を決定する順位決定部と、
前記複数の教示情報と前記順位とに基づいて、前記ロボットアームの前記動作の情報である動作情報を生成する動作生成部とを備え、
前記時系列の教示情報は、前記ロボットアームの位置、姿勢、及び、速度の少なくとも1つ以上で構成され、
前記反応時間情報は、前記ロボットアームで行う作業対象の対象物に前記ロボットアームから加えられる力情報と、前記ロボットアームで行う作業対象の対象物の位置情報と、周辺環境の音情報とのうち、少なくとも1つの情報である知覚情報を前記人が受けてから、前記人が前記ロボットアームの操作をするまでの時間情報であり、
前記ばらつき情報は、時系列における前記教示情報もしくは時系列における前記知覚情報のいずれか1つ以上の情報との時系列におけるばらつき度合に関する情報であり、
前記動作生成部で生成された動作情報に基づいて、前記ロボットアームの前記動作を制御するロボットアームの制御装置を提供する。
本構成によって、教示情報に順位を決定するとき、例えば、最も熟練度の高い教示情報から動作情報を生成することができる。また、人が簡単にロボットアームの動作を教示することができ、且つ、環境変動に柔軟な動作生成が可能となる。
本発明の第2態様によれば、前記知覚情報は前記情報取得部で取得し、
前記ばらつき度合とは、前記ロボットアームの位置もしくは姿勢の教示情報、又は、前記第2情報取得部で取得した、前記力情報もしくは前記対象物の位置情報もしくは前記音情報の知覚情報について、それぞれの方向別に時系列における変動の度合である、第1の態様に記載のロボットアームの制御装置を提供する。
前記態様によれば、人が教示したときのロボットアームの位置もしくは姿勢、力情報、対象物の位置情報もしくは対象物が接触するときの音情報の変動度合いであるばらつき度合を取得して教示情報に順位を決定するとき、例えば、最も熟練度の高い教示情報から動作情報を生成することができる。また、人が簡単にロボットアームの動作を教示することができ、且つ、環境変動に柔軟な動作生成が可能となる。
本発明の第2態様によれば、前記知覚情報は前記情報取得部で取得し、
前記ばらつき度合とは、前記ロボットアームの位置もしくは姿勢の教示情報、又は、前記第2情報取得部で取得した、前記力情報もしくは前記対象物の位置情報もしくは前記音情報の知覚情報について、それぞれの方向別に時系列における変動の度合である、第1の態様に記載のロボットアームの制御装置を提供する。
前記態様によれば、人が教示したときのロボットアームの位置もしくは姿勢、力情報、対象物の位置情報もしくは対象物が接触するときの音情報の変動度合いであるばらつき度合を取得して教示情報に順位を決定するとき、例えば、最も熟練度の高い教示情報から動作情報を生成することができる。また、人が簡単にロボットアームの動作を教示することができ、且つ、環境変動に柔軟な動作生成が可能となる。
本発明の第3態様によれば、前記知覚情報は前記第2情報取得部で取得し、
前記第1情報取得部で取得した前記教示情報と前記第2情報取得部で取得した前記知覚情報とのばらつきの度合に関する情報である、時系列における、ばらつき度合を算出するばらつき度合算出部をさらに備え、
前記ばらつき度合算出部で算出した前記ばらつき度合を、前記ばらつき情報として前記第2情報取得部で取得する、第1又は2の態様に記載のロボットアームの制御装置を提供する。
前記態様によれば、人が教示したときのロボットアームの位置もしくは姿勢、力情報、対象物の位置情報もしくは対象物が接触するときの音情報の変動度合いであるばらつき度合を算出して教示情報に順位を決定するとき、例えば、最も熟練度の高い教示情報から動作情報を生成することができる。また、人が簡単にロボットアームの動作を教示することができ、且つ、環境変動に柔軟な動作生成が可能となる。
前記第1情報取得部で取得した前記教示情報と前記第2情報取得部で取得した前記知覚情報とのばらつきの度合に関する情報である、時系列における、ばらつき度合を算出するばらつき度合算出部をさらに備え、
前記ばらつき度合算出部で算出した前記ばらつき度合を、前記ばらつき情報として前記第2情報取得部で取得する、第1又は2の態様に記載のロボットアームの制御装置を提供する。
前記態様によれば、人が教示したときのロボットアームの位置もしくは姿勢、力情報、対象物の位置情報もしくは対象物が接触するときの音情報の変動度合いであるばらつき度合を算出して教示情報に順位を決定するとき、例えば、最も熟練度の高い教示情報から動作情報を生成することができる。また、人が簡単にロボットアームの動作を教示することができ、且つ、環境変動に柔軟な動作生成が可能となる。
本発明の第4態様によれば、前記知覚情報は前記第2情報取得部で取得し、
前記第2情報取得部で取得される情報のうち、前記人が前記ロボットアームを操作する際に、前記操作を完了するために必要な最低限の情報のみを、力もしくは対象物の位置もしくは音量として、提示する知覚情報提示部をさらに備え、
前記第2情報取得部で取得される情報のうち、前記知覚情報は前記知覚情報提示部で提示された知覚情報と同じ種類の情報である第1〜3のいずれか1つの態様に記載のロボットアームの制御装置を提供する。
前記第2情報取得部で取得される情報のうち、前記人が前記ロボットアームを操作する際に、前記操作を完了するために必要な最低限の情報のみを、力もしくは対象物の位置もしくは音量として、提示する知覚情報提示部をさらに備え、
前記第2情報取得部で取得される情報のうち、前記知覚情報は前記知覚情報提示部で提示された知覚情報と同じ種類の情報である第1〜3のいずれか1つの態様に記載のロボットアームの制御装置を提供する。
本構成によって、前記人に提示する情報を制限することができる。
本発明の第5態様によれば、前記知覚情報は前記第2情報取得部で取得し、
前記順位決定部は、前記複数の教示情報のうち、より少ない前記知覚情報を使用している教示情報ほど、高い順位として決定する第1〜4のいずれか1つの態様に記載のロボットアームの制御装置を提供する。
前記順位決定部は、前記複数の教示情報のうち、より少ない前記知覚情報を使用している教示情報ほど、高い順位として決定する第1〜4のいずれか1つの態様に記載のロボットアームの制御装置を提供する。
本構成によって、前記人が教示した前記教示情報の順位を決定することができる。
本発明の第6態様によれば、前記順位決定部は、前記複数の教示情報のうち、より短い反応時間情報に基づく教示情報ほど、高い順位として決定する第1〜4のいずれか1つの態様に記載のロボットアームの制御装置を提供する。
本構成によって、前記人が教示した前記教示情報の順位を決定することができる。
本発明の第7態様によれば、前記知覚情報は前記第2情報取得部で取得し、
それぞれの知覚情報毎に反応時間を合算して、総反応時間情報を算出する反応時間算出部をさらに備え、
前記順位決定部は、前記複数の教示情報のうち、前記反応時間算出部で算出された総反応時間情報がより大きい教示情報ほど、高い順位として決定する第1〜4のいずれか1つの態様に記載のロボットアームの制御装置を提供する。
それぞれの知覚情報毎に反応時間を合算して、総反応時間情報を算出する反応時間算出部をさらに備え、
前記順位決定部は、前記複数の教示情報のうち、前記反応時間算出部で算出された総反応時間情報がより大きい教示情報ほど、高い順位として決定する第1〜4のいずれか1つの態様に記載のロボットアームの制御装置を提供する。
本構成によって、前記人が教示した前記教示情報の順位を決定することができる。
本発明の第8態様によれば、前記順位決定部は、前記複数の教示情報のうち、より前記ばらつき度合が小さい教示情報ほど、高い順位として決定する第1〜4のいずれか1つの態様に記載のロボットアームの制御装置を提供する。
本構成によって、前記人が教示した前記教示情報の順位を決定することができる。
本発明の第9態様によれば、前記動作生成部で生成された前記動作情報で正常に前記ロボットアームが動作しているかどうかを判断する判断部をさらに備え、
前記動作情報で正常に動作していないと前記判断部で判断した場合は、前記動作生成部は、前記教示情報とは異なる教示情報に基づいて、前記ロボットアームの前記動作の情報である動作情報を生成する、第1〜8のいずれか1つの態様に記載のロボットアームの制御装置を提供する。
前記動作情報で正常に動作していないと前記判断部で判断した場合は、前記動作生成部は、前記教示情報とは異なる教示情報に基づいて、前記ロボットアームの前記動作の情報である動作情報を生成する、第1〜8のいずれか1つの態様に記載のロボットアームの制御装置を提供する。
本発明の第10態様によれば、前記動作生成部は、前記複数の教示情報のうち、最も高い順位の教示情報に基づいて、前記ロボットアームの前記動作の情報である動作情報を生成し、
前記動作情報で正常に動作していないと前記判断部で判断した場合は、前記動作生成部は、次に順位の高い教示情報に基づいて、前記ロボットアームの前記動作の情報である動作情報を生成する、第9の態様に記載のロボットアームの制御装置を提供する。
前記動作情報で正常に動作していないと前記判断部で判断した場合は、前記動作生成部は、次に順位の高い教示情報に基づいて、前記ロボットアームの前記動作の情報である動作情報を生成する、第9の態様に記載のロボットアームの制御装置を提供する。
本構成によって、環境変動に適応可能なロボットアームの動作情報を生成することができる。
本発明の第11態様によれば、前記動作生成部は、前記順位に基づいて修正すべき動作情報を決定し、
前記動作情報に基づいて、前記動作を制御するための情報である制御則情報を抽出する制御則抽出部と、
前記動作情報で正常に動作していないと前記判断部で判断した場合は、前記制御則を、次に順位の高い制御則と組み換える順位組換部とをさらに備え、
前記動作生成部は、前記順位組換部で組み換えた前記制御則で、前記動作情報を修正して前記動作情報を生成する、第9の態様に記載のロボットアームの制御装置を提供する。
前記動作情報に基づいて、前記動作を制御するための情報である制御則情報を抽出する制御則抽出部と、
前記動作情報で正常に動作していないと前記判断部で判断した場合は、前記制御則を、次に順位の高い制御則と組み換える順位組換部とをさらに備え、
前記動作生成部は、前記順位組換部で組み換えた前記制御則で、前記動作情報を修正して前記動作情報を生成する、第9の態様に記載のロボットアームの制御装置を提供する。
本構成によって、環境変動に適応可能なロボットアームの動作情報を生成することができる。
本発明の第12態様によれば、前記順位決定部は、反応時間情報とばらつき情報とにそれぞれ重み付けして、前記複数の教示情報の順位を決定する、第9の態様に記載のロボットアームの制御装置を提供する。
本構成によって、環境変動に適応可能なロボットアームの動作情報を生成することができる。
本発明の第13態様によれば、前記動作情報を複数に分割した区間のそれぞれの終了時点である区間目標値を複数設定する区間目標値設定部をさらに備え、
前記順位決定部は、前記区間目標値設定部で設定した前記それぞれの区間目標値までの区間の前記教示情報の前記順位を決定し、
前記動作生成部は、前記区間毎に最も高い順位の前記教示情報を基に動作情報を生成する第1〜12のいずれか1つの態様に記載のロボットアームの制御装置を提供する。
前記順位決定部は、前記区間目標値設定部で設定した前記それぞれの区間目標値までの区間の前記教示情報の前記順位を決定し、
前記動作生成部は、前記区間毎に最も高い順位の前記教示情報を基に動作情報を生成する第1〜12のいずれか1つの態様に記載のロボットアームの制御装置を提供する。
本構成によって、環境変動に適応可能なロボットアームの動作情報を生成することができる。
本発明の第14態様によれば、前記ロボットアームと、
前記ロボットアームを制御する第1〜13のいずれか1つの態様に記載のロボットアームの制御装置を有するロボットを提供する。
本構成によって、教示情報に順位を決定するとき、例えば、最も熟練度の高い教示情報から動作情報を生成することができる。
前記ロボットアームを制御する第1〜13のいずれか1つの態様に記載のロボットアームの制御装置を有するロボットを提供する。
本構成によって、教示情報に順位を決定するとき、例えば、最も熟練度の高い教示情報から動作情報を生成することができる。
本発明の第15態様によれば、ロボットアームの動作を制御するロボットアームの制御方法であって、
人が前記ロボットアームを操作して動作の教示を行うときの、時系列の複数の教示情報を第1情報取得部で取得し、
前記ロボットアームの教示時における、(i)反応時間情報と(ii)ばらつき情報とを第2情報取得部で取得し、
前記時系列の教示情報は、前記ロボットアームの位置、姿勢、及び、速度の少なくとも1つ以上で構成され、前記反応時間情報は、前記ロボットアームで行う作業対象の対象物に前記ロボットアームから加えられる力情報と、前記ロボットアームで行う作業対象の対象物の位置情報と、周辺環境の音情報とのうち、少なくとも1つの情報である知覚情報を前記人が受けてから、前記人が前記ロボットアームの操作をするまでの時間情報であり、前記ばらつき情報は、時系列における前記教示情報もしくは時系列における前記知覚情報のいずれか1つ以上の情報との時系列におけるばらつき度合に関する情報であり、前記第2情報取得部で取得した前記反応時間情報と前記ばらつき情報とに基づいて、前記第1情報取得部で取得した前記複数の教示情報の順位を順位決定部で決定し、
前記複数の教示情報と前記順位とに基づいて、前記ロボットアームの前記動作の情報である動作情報を動作生成部で生成し、
前記動作生成部で生成された動作情報に基づいて、前記ロボットアームの前記動作を制御する、ロボットアームの制御方法を提供する。
人が前記ロボットアームを操作して動作の教示を行うときの、時系列の複数の教示情報を第1情報取得部で取得し、
前記ロボットアームの教示時における、(i)反応時間情報と(ii)ばらつき情報とを第2情報取得部で取得し、
前記時系列の教示情報は、前記ロボットアームの位置、姿勢、及び、速度の少なくとも1つ以上で構成され、前記反応時間情報は、前記ロボットアームで行う作業対象の対象物に前記ロボットアームから加えられる力情報と、前記ロボットアームで行う作業対象の対象物の位置情報と、周辺環境の音情報とのうち、少なくとも1つの情報である知覚情報を前記人が受けてから、前記人が前記ロボットアームの操作をするまでの時間情報であり、前記ばらつき情報は、時系列における前記教示情報もしくは時系列における前記知覚情報のいずれか1つ以上の情報との時系列におけるばらつき度合に関する情報であり、前記第2情報取得部で取得した前記反応時間情報と前記ばらつき情報とに基づいて、前記第1情報取得部で取得した前記複数の教示情報の順位を順位決定部で決定し、
前記複数の教示情報と前記順位とに基づいて、前記ロボットアームの前記動作の情報である動作情報を動作生成部で生成し、
前記動作生成部で生成された動作情報に基づいて、前記ロボットアームの前記動作を制御する、ロボットアームの制御方法を提供する。
本構成によって、教示情報に順位を決定するとき、例えば、最も熟練度の高い教示情報から動作情報を生成することができる。また、人が簡単にロボットアームの動作を教示することができ、且つ、環境変動に柔軟な動作生成が可能となる。
本発明の第16態様によれば、ロボットアームの動作を制御するロボットアームの制御プログラムであって、
コンピュータに、
人が前記ロボットアームを操作して動作の教示を行うときの、時系列の複数の教示情報を第1情報取得部で取得するステップと、
前記ロボットアームの教示時における、(i)反応時間情報と(ii)ばらつき情報とを第2情報取得部で取得するステップと、
前記時系列の教示情報は、前記ロボットアームの位置、姿勢、及び、速度の少なくとも1つ以上で構成され、前記反応時間情報は、前記ロボットアームで行う作業対象の対象物に前記ロボットアームから加えられる力情報と、前記ロボットアームで行う作業対象の対象物の位置情報と、周辺環境の音情報とのうち、少なくとも1つの情報である知覚情報を前記人が受けてから、前記人が前記ロボットアームの操作をするまでの時間情報であり、前記ばらつき情報は、時系列における前記教示情報もしくは時系列における前記知覚情報のいずれか1つ以上の情報との時系列におけるばらつき度合に関する情報であり、前記第2情報取得部で取得した前記反応時間情報と前記ばらつき情報とに基づいて、前記第1情報取得部で取得した前記複数の教示情報の順位を順位決定部で決定するステップと、
前記複数の教示情報と前記順位とに基づいて、前記ロボットアームの前記動作の情報である動作情報を動作生成部で生成するステップと、
前記動作生成部で生成された動作情報に基づいて、前記ロボットアームの前記動作を制御するステップとを実行させるための、ロボットアームの制御プログラムを提供する。
コンピュータに、
人が前記ロボットアームを操作して動作の教示を行うときの、時系列の複数の教示情報を第1情報取得部で取得するステップと、
前記ロボットアームの教示時における、(i)反応時間情報と(ii)ばらつき情報とを第2情報取得部で取得するステップと、
前記時系列の教示情報は、前記ロボットアームの位置、姿勢、及び、速度の少なくとも1つ以上で構成され、前記反応時間情報は、前記ロボットアームで行う作業対象の対象物に前記ロボットアームから加えられる力情報と、前記ロボットアームで行う作業対象の対象物の位置情報と、周辺環境の音情報とのうち、少なくとも1つの情報である知覚情報を前記人が受けてから、前記人が前記ロボットアームの操作をするまでの時間情報であり、前記ばらつき情報は、時系列における前記教示情報もしくは時系列における前記知覚情報のいずれか1つ以上の情報との時系列におけるばらつき度合に関する情報であり、前記第2情報取得部で取得した前記反応時間情報と前記ばらつき情報とに基づいて、前記第1情報取得部で取得した前記複数の教示情報の順位を順位決定部で決定するステップと、
前記複数の教示情報と前記順位とに基づいて、前記ロボットアームの前記動作の情報である動作情報を動作生成部で生成するステップと、
前記動作生成部で生成された動作情報に基づいて、前記ロボットアームの前記動作を制御するステップとを実行させるための、ロボットアームの制御プログラムを提供する。
本構成によって、教示情報に順位を決定するとき、例えば、最も熟練度の高い教示情報から動作情報を生成することができる。また、人が簡単にロボットアームの動作を教示することができ、且つ、環境変動に柔軟な動作生成が可能となる。
本発明の第17態様によれば、ロボットアームの動作を制御するロボットアームの集積電子回路であって、
人が前記ロボットアームを操作して動作の教示を行うときの、時系列の複数の教示情報を取得する第1情報取得部と、
前記ロボットアームの教示時における、(i)反応時間情報と(ii)ばらつき情報とを取得する第2情報取得部と、
前記第2情報取得部で取得した前記反応時間情報と前記ばらつき情報とに基づいて、前記第1情報取得部で取得した前記複数の教示情報の順位を決定する順位決定部と、
前記複数の教示情報と前記順位とに基づいて、前記ロボットアームの前記動作の情報である動作情報を生成する動作生成部とを備え、
前記時系列の教示情報は、前記ロボットアームの位置、姿勢、及び、速度の少なくとも1つ以上で構成され、
前記反応時間情報は、前記ロボットアームで行う作業対象の対象物に前記ロボットアームから加えられる力情報と、前記ロボットアームで行う作業対象の対象物の位置情報と、周辺環境の音情報とのうち、少なくとも1つの情報である知覚情報を前記人が受けてから、前記人が前記ロボットアームの操作をするまでの時間情報であり、
前記ばらつき情報は、時系列における前記教示情報もしくは時系列における前記知覚情報のいずれか1つ以上の情報との時系列におけるばらつき度合に関する情報であり、
前記動作生成部で生成された動作情報に基づいて、前記ロボットアームの前記動作を制御するロボットアームの集積電子回路を提供する。
人が前記ロボットアームを操作して動作の教示を行うときの、時系列の複数の教示情報を取得する第1情報取得部と、
前記ロボットアームの教示時における、(i)反応時間情報と(ii)ばらつき情報とを取得する第2情報取得部と、
前記第2情報取得部で取得した前記反応時間情報と前記ばらつき情報とに基づいて、前記第1情報取得部で取得した前記複数の教示情報の順位を決定する順位決定部と、
前記複数の教示情報と前記順位とに基づいて、前記ロボットアームの前記動作の情報である動作情報を生成する動作生成部とを備え、
前記時系列の教示情報は、前記ロボットアームの位置、姿勢、及び、速度の少なくとも1つ以上で構成され、
前記反応時間情報は、前記ロボットアームで行う作業対象の対象物に前記ロボットアームから加えられる力情報と、前記ロボットアームで行う作業対象の対象物の位置情報と、周辺環境の音情報とのうち、少なくとも1つの情報である知覚情報を前記人が受けてから、前記人が前記ロボットアームの操作をするまでの時間情報であり、
前記ばらつき情報は、時系列における前記教示情報もしくは時系列における前記知覚情報のいずれか1つ以上の情報との時系列におけるばらつき度合に関する情報であり、
前記動作生成部で生成された動作情報に基づいて、前記ロボットアームの前記動作を制御するロボットアームの集積電子回路を提供する。
本構成によって、教示情報に順位を決定するとき、例えば、最も熟練度の高い教示情報から動作情報を生成することができる。また、人が簡単にロボットアームの動作を教示することができ、且つ、環境変動に柔軟な動作生成が可能となる。
以下、本発明の実施の形態について、図面を参照しながら説明する。
(第1実施形態)
まず、本発明の第1実施形態におけるロボットシステム(ロボット)1の構成について説明する。
まず、本発明の第1実施形態におけるロボットシステム(ロボット)1の構成について説明する。
図1に示すように、工場内のセル生産で、テレビ、DVDレコーダ、又は、携帯電話のなどの機器6用のプリント基板のコネクタの挿入口75に、フレキシブル基板74の端部を挿入して取り付ける場合を例にとって説明する。ここで、コネクタはロボットアーム5で行う作業(例えば挿入作業)対象の対象物の一例であり、フレキシブル基板74はロボットアーム5で把持される部品の一例である。
ロボットシステム1のロボットアーム5は、作業台7の壁面7aに設置され、ロボットアーム5の基端が、壁面7aに固定されたレール8に、移動可能に支持され、レール8上をロボットアーム5がレール8沿いの横方向例えば水平方向に、人16の力により、移動可能とする。
作業台7の側面には、ボタン26aなどが配置された操作盤26などのデータ入力IF26を備える。
ロボットアーム5の先端には、フレキシブル基板74を把持するハンド30が取り付けられている。
作業台7の側面には、カメラなどの画像撮像装置27が配置され、フレキシブル基板74及び挿入口75を撮像する。
作業台7の側面には、マイクなどの集音装置28が配置され、挿入口75の付近の音量を計測する。
ロボットシステム1は、機器6の挿入口75にフレキシブル基板74を挿入する作業を行うロボットである。
まず、ロボットシステム1の操作手順の概要を説明する。ロボットシステム1の構成については、後で詳述する。
人16が、作業台7の側面に配置されているデータ入力IF26から動作切替部23への入力(例えば図2の操作盤26の電源ボタン26aの「ON」を押すなど)により電源を入れる。
次に、作業台7の側面に配置されているデータ入力IF26から動作切替部23への入力(例えば図2の操作盤26の教示スイッチ26bの教示スタートボタンなど)を人16の手16aで押すことにより、ロボットシステム1が作動する。すると、後述する動作切替部23により教示モードが設定され、人16が加えた力に基づいてロボットアーム5が移動することで、ロボットアーム5の動作を教示する。具体的には、図3A〜図3Dに示すように、人16が手16aでロボットアーム5を把持しながら操作して、ロボットアーム5によりフレキシブル基板74を挿入口75に挿入するように、人16がロボットアーム5に教示する。
教示した教示情報及び周辺環境に関する情報は、後述する動作生成部13を介して、教示情報データベース17A及び環境情報(知覚情報)データベース18に記憶される。また、教示情報及び周辺環境に関する情報を教示情報取得部(第1情報取得部)98と情報取得部(第2情報取得部)97とで取得する際に、人16が教示作業に不慣れな時点の情報と教示作業に慣れて熟練した時点の情報となどのように、経時的に複数の情報を教示情報取得部98で取得する(例えば、非熟練時の情報と熟練時の情報など)。
次に、不慣れなときの情報と教示作業に慣れて熟練したときの情報とを使って、後述する動作生成部13でロボットアーム5の動作情報を生成する。人16が作業台7の側面に配置されているデータ入力IF26(例えば図2の操作盤26の作業スイッチ26cのスタートボタンなど)を人16の手16aで押すことにより、ロボットシステム1が作動し、動作生成部13で生成された動作を開始させる。
次に、第1実施形態のロボットシステム1の詳細を説明する。図4はロボットアーム5と、ロボットアーム5の制御装置3と、ロボットアーム5の動作を生成する(動作情報を生成する)動作生成装置2と、周辺装置47との詳細構成図である。
《ロボットアーム5》
第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の相対的な姿勢(向き)を変化できる。すなわち、図4において、第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の相対的な姿勢(向き)を変化できる。すなわち、図4において、第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自由度の多リンクマニピュレータを構成している。
各軸の回転部分を構成する各関節部(具体的には第1関節部35〜第6関節部40)には、モータ43のような回転駆動装置と、モータ43の回転軸の回転位相角(すなわち関節角)を検出するエンコーダ44を備えている。
第1実施形態のモータ43は、ロボットアーム5の各関節部の内部に配設されている。モータ43は、各関節部を構成する2つのリンク部材のうちの一方のリンク部材に備えられ、後述するモータドライバ25により駆動制御される。
各関節部の一つのリンク部材の関節部に備えられたモータ43の回転軸が、他のリンク部材に連結されて、前記回転軸を正逆回転させることにより、前記他のリンク部材を前記一つのリンク部材に対して第1関節部35〜第6関節部40のそれぞれの各軸周りに回転可能とする。
41は台部34の下側固定部34bに対して相対的な位置関係が固定された絶対座標系であり、42はハンド30に対して相対的な位置関係が固定された手先座標系である。絶対座標系41から見た手先座標系42の原点位置Oe(x,y,z)をロボットアーム5の手先位置(ハンド30の位置)とし、絶対座標系41から見た手先座標系42の姿勢をロール角とピッチ角とヨー角とで表現した(φ,θ,ψ)をロボットアーム5の手先姿勢とし、手先位置及び姿勢ベクトルをベクトルr=[x,y,z,φ,θ,ψ]Tと定義する。
図5A〜図5Cは、本発明の第1実施形態におけるロボットアーム5の座標系を示す。
第1実施形態では、絶対座標系35のZ軸を回転軸として、座標系を角度φだけ回転させた座標系を考える(図5A参照)。このときの座標軸を[X’,Y’,Z]とする。
次に、この座標系を、Y'を回転軸として角度θだけ回転させる(図5B参照)。このときの座標軸を[X’’,Y’,Z’’]とする。
最後に、この座標系を、X’’を回転軸として角度ψだけ回転させる(図5C参照)。このときの座標系の姿勢をロール角度φ、ピッチ角度θ、ヨー角度ψとし、このときの姿勢ベクトルは(φ,θ,ψ)となる。姿勢(φ,θ,ψ)の座標系が原点位置を手先座標系42の原点位置Oe(x,y,z)に平行移動した座標系と、手先座標系42が一致する場合、手先座標系42の姿勢ベクトルは(φ,θ,ψ)であるとする。
ロボットアーム5の手先位置及び姿勢を制御する場合には、手先位置及び姿勢ベクトルrを後述する目標軌道生成部55で生成された手先位置及び姿勢目標ベクトルrdに追従させることになる。
ロボットアーム5は、後述する動作生成装置2と、ロボットアーム5の制御装置3と、周辺装置47とを備えたロボット制御装置99により、次のように動作制御される。
ロボットアーム5の各関節部の、エンコーダ44より出力される各関節角度情報が、入出力IF24のカウンタボードを通じて制御装置3に取り込まれる。取り込まれた各関節角度情報に基づき、制御装置3によって各関節部の回転動作での制御指令値が算出される。制御装置3で算出された各制御指令値は、入出力IF24のD/Aボードを通じて、ロボットアーム5の各関節部を駆動制御するためのモータドライバ25に与えられる。モータドライバ25から送られた前記各制御指令値に従って、ロボットアーム5の各関節部のモータ43が駆動される。
制御装置3及び動作生成装置2及び周辺装置47は、一例として、それぞれ一般的なパーソナルコンピュータにより構成される。
《周辺装置47》
周辺装置47は、データ入力IF(インターフェース)26と、入出力IF(インターフェース)24と、モータドライバ25とを有する。
周辺装置47は、データ入力IF(インターフェース)26と、入出力IF(インターフェース)24と、モータドライバ25とを有する。
入出力IF24は、パーソナルコンピュータのPCIバスなどの拡張スロットに接続された、例えばD/AボードとA/Dボードとカウンタボードとなどを有する。入出力IF24は、ロボットアーム5の各関節部のエンコーダ44より出力される各関節角度情報を取得し、制御装置3の制御部22に入力する。一方、入出力IF24は、制御部22から制御信号などの制御情報が入力されるとともに、モータドライバ25に制御指令値などの制御情報を出力する。モータドライバ25は、ロボットアーム5の各関節部のモータ43に対し制御指令値などの制御情報を出力する。
データ入力IF(インターフェース)26は、人4がキーボード、マウス、又は、マイクなどの外部入力装置26d、又は、ボタン26a,26b,26cを使用して、電源のオン及びオフ、教示開始及び停止、並びに、作業開始及び停止の指令をするためのインターフェースである。また、データ入力IF26は、図1に示す操作盤26のボタン26aなどの入力装置を使用して、人4から指令を受けるようにしてもよい。ボタン26aは、例えばトグルスイッチとして1つのボタンで開始及び終了をそれぞれ入力可能としてもよいし、開始ボタンと終了ボタンと別々に設けてもよい。
《制御装置3》
制御装置3は、対象物力検出部77と、対象物位置検出部78と、音量検出部79と、制御部22とを有する。
制御装置3は、対象物力検出部77と、対象物位置検出部78と、音量検出部79と、制御部22とを有する。
−対象物力検出部77−
対象物力検出部77は、人16がロボットアーム5を操作して、ロボットアーム5の動作を変更させたときに、力センサ77Aなどの力測定装置で測定された測定値を基に、制御部22のタイマー60(図6参照)を利用して、ある一定時間毎(例えば、4msec毎)に対象物に加わる力を検出する。ここで、対象物力検出部77で検出された力の符号を反転した力が、ロボットアーム5を介して、物理的に人の手16aに伝わり、その力を人16が感じて、ロボットアーム5の動作を変更させる。
対象物力検出部77は、人16がロボットアーム5を操作して、ロボットアーム5の動作を変更させたときに、力センサ77Aなどの力測定装置で測定された測定値を基に、制御部22のタイマー60(図6参照)を利用して、ある一定時間毎(例えば、4msec毎)に対象物に加わる力を検出する。ここで、対象物力検出部77で検出された力の符号を反転した力が、ロボットアーム5を介して、物理的に人の手16aに伝わり、その力を人16が感じて、ロボットアーム5の動作を変更させる。
対象物に加わる力は、例えば、ロボットアーム5のハンド30の付近に配置された6軸の力センサ77Aで直接的に測定される。より具体的には、図3Aに示すように、ロボットアーム5が、ハンド30で把持したフレキシブル基板74を、対象物の一例としてのコネクタの挿入口75に挿入する際に、図3Bに示すように、フレキシブル基板74と挿入口75とが接触したときのフレキシブル基板74に加わる力を6軸の力センサ77Aで測定し、測定値が6軸の力センサ77Aから対象物力検出部77に入力されて、タイマー60を利用して、ある一定時間毎(例えば、4msec毎)に対象物に加わる力を検出する。対象物力検出部77は、6軸の力センサ77Aでの測定値を基に対象物力検出部77で検出した6軸の力の値を、制御部22を介して、動作生成部13に出力する。
−画像撮像装置27−
画像撮像装置27は、人16がロボットアーム5を操作して、ロボットアーム5の動作を変更させたときに、対象物及びその周辺の画像を撮像する装置の一例である。画像撮像装置27は、例えばカメラなどの撮像装置であり、ロボットアーム5の周辺に配置する。図3Aに示すように、ロボットアーム5がフレキシブル基板74を挿入口75に挿入する際に、カメラによりフレキシブル基板74などの対象物を撮像する。
画像撮像装置27は、人16がロボットアーム5を操作して、ロボットアーム5の動作を変更させたときに、対象物及びその周辺の画像を撮像する装置の一例である。画像撮像装置27は、例えばカメラなどの撮像装置であり、ロボットアーム5の周辺に配置する。図3Aに示すように、ロボットアーム5がフレキシブル基板74を挿入口75に挿入する際に、カメラによりフレキシブル基板74などの対象物を撮像する。
対象物位置検出部78は、画像撮像装置27で撮像した画像と、あらかじめ記録された対象物の画像との間で、モデルマッチング処理を行い、対象物の位置を、制御部22のタイマー60(図6参照)を利用して、ある一定時間毎(例えば、4msec毎)に算出する。対象物の位置情報は、フレキシブル基板74の先端から挿入口75までの距離を示し、図7A〜図7Dに示す「L」の位置を示す。対象物位置検出部78で算出した対象物の位置情報は、対象物位置検出部78から制御部22を介して動作生成部13に出力する。人16は、対象物位置検出部78で検出された対象物の位置情報を目で確認し、位置情報に応じて、ロボットアーム5の動作を変更させる。
−集音装置28−
集音装置28は、人16がロボットアーム5を操作して、ロボットアーム5の動作を変更させたときの周辺環境の音に関する情報を取得する装置の一例である。集音装置28は、例えばマイクなどの集音装置であり、ロボットアーム5の周辺(例えば、作業対象物の付近、具体的には、挿入口75の付近)に配置する。音量検出部79は、作業中の音をマイクなどで集音し、フレキシブル基板74が挿入口75に衝突する際の音について、あらかじめ記録された衝突音とのマッチング処理を行い、マッチした衝突音の音量に関する情報を、制御部22のタイマー60(図6参照)を利用して、ある一定時間毎(例えば、4msec毎)に音量検出部79で検出する。音量検出部79で検出した音量に関する情報は、音量検出部79から制御部22を介して動作生成部13に出力する。人16は、音量検出部79で検出された、挿入口75に衝突する際の音量に応じて、ロボットアーム5の動作を変更させる。
集音装置28は、人16がロボットアーム5を操作して、ロボットアーム5の動作を変更させたときの周辺環境の音に関する情報を取得する装置の一例である。集音装置28は、例えばマイクなどの集音装置であり、ロボットアーム5の周辺(例えば、作業対象物の付近、具体的には、挿入口75の付近)に配置する。音量検出部79は、作業中の音をマイクなどで集音し、フレキシブル基板74が挿入口75に衝突する際の音について、あらかじめ記録された衝突音とのマッチング処理を行い、マッチした衝突音の音量に関する情報を、制御部22のタイマー60(図6参照)を利用して、ある一定時間毎(例えば、4msec毎)に音量検出部79で検出する。音量検出部79で検出した音量に関する情報は、音量検出部79から制御部22を介して動作生成部13に出力する。人16は、音量検出部79で検出された、挿入口75に衝突する際の音量に応じて、ロボットアーム5の動作を変更させる。
−制御部22−
制御部22と動作生成部13との間では、ロボットアーム5の手先位置又は力の情報と制御モードが入出力される。制御モードは、(i)位置制御モード、(ii)インピーダンス制御モード、(iii)力制御モードの3つの制御方法のモードうち、いずれか1つの制御方法のモードである。
制御部22と動作生成部13との間では、ロボットアーム5の手先位置又は力の情報と制御モードが入出力される。制御モードは、(i)位置制御モード、(ii)インピーダンス制御モード、(iii)力制御モードの3つの制御方法のモードうち、いずれか1つの制御方法のモードである。
−制御モードの切替動作−
各制御モードについて説明する。
各制御モードについて説明する。
(i)位置制御モード
位置制御モードは、後述する目標軌道生成部55の手先位置と姿勢と時間とに関する情報に基づいて、ロボットアーム5が制御部22で作動するモードである。この位置制御モードは、人4がロボットアーム5に力を加えてもロボットアーム5は移動しないように、ロボットアーム5の動作を制御部22で制御するモードである。
位置制御モードは、後述する目標軌道生成部55の手先位置と姿勢と時間とに関する情報に基づいて、ロボットアーム5が制御部22で作動するモードである。この位置制御モードは、人4がロボットアーム5に力を加えてもロボットアーム5は移動しないように、ロボットアーム5の動作を制御部22で制御するモードである。
(ii)インピーダンス制御モード
インピーダンス制御モードは、人16などからロボットアーム5に加わる力(具体的には、力検出部53で検出された力)に応じて、ロボットアーム5が作動するようにロボットアーム5の動作を制御部22で制御するモードである。例えば、図8に示すように、人16の手16aでロボットアーム5を直接持ち、ロボットアーム5の手先の位置姿勢を教示する場合に用いるモードである。
インピーダンス制御モードは、人16などからロボットアーム5に加わる力(具体的には、力検出部53で検出された力)に応じて、ロボットアーム5が作動するようにロボットアーム5の動作を制御部22で制御するモードである。例えば、図8に示すように、人16の手16aでロボットアーム5を直接持ち、ロボットアーム5の手先の位置姿勢を教示する場合に用いるモードである。
(iii)力制御モード
力制御モードは、後述する目標軌道生成部55の力と時間とに関する情報に基づいて、ロボットアーム5を用いて対象物を押し付けながら動作するように制御部22でロボットアーム5の動作を制御するモードである。
力制御モードは、後述する目標軌道生成部55の力と時間とに関する情報に基づいて、ロボットアーム5を用いて対象物を押し付けながら動作するように制御部22でロボットアーム5の動作を制御するモードである。
これらの制御モードは、ロボットアーム5の動作の際に、ロボットアーム5の方向及び姿勢別にそれぞれ適切な制御モードを動作生成部13で設定して動作させる。
インピーダンス制御モードでロボットアーム5が動作中に、機械インピーダンス設定値又はインピーダンス計算部51で出力する手先位置及び姿勢目標補正出力rd△の設定を変更する。
機械インピーダンス設定値の設定パラメータとしては、慣性Mと粘性Dと剛性Kとがある。機械インピーダンス設定値の各パラメータの設定は、補正値を使って、以下の評価式に基づいて行う。
M = KM×(補正値) ・・・・式(1)
D = KD×(補正値) ・・・・式(2)
K = KK×(補正値) ・・・・式(3)
前記式(1)〜(3)中のKM、KD、KKはそれぞれゲインであり、それぞれある定数値である。
M = KM×(補正値) ・・・・式(1)
D = KD×(補正値) ・・・・式(2)
K = KK×(補正値) ・・・・式(3)
前記式(1)〜(3)中のKM、KD、KKはそれぞれゲインであり、それぞれある定数値である。
あらかじめ、前記式(1)〜(3)に基づき計算した機械インピーダンス設定値の慣性Mと粘性Dと剛性Kを決定しておいても良いし、動作生成部13から慣性Mと粘性Dと剛性Kを決定して制御部22へ出力しても良い。
次に、制御部22の詳細について、図6を用いて説明する。図6は、第1実施形態のロボット制御装置99の制御部22の詳細を示す。
制御部22は、目標軌道生成部55と、力検出部53と、インピーダンス計算部51と、位置制御部59と、位置誤差計算部80とを有する。位置制御部59は、位置誤差補償部56と、近似逆運動学計算部57と、順運動学計算部58とを有する。力検出部53は、図6では制御部22の一部として図示しているが、制御部22とは別の構成としてもよい。
制御部22は、入出力IF24を介してロボットアーム5との制御信号などの信号のやり取りを行うが、図6では、制御部22とロボットアーム5とのデータ信号のやり取りとして簡略化した図とする。
ロボットアーム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は、動作生成部13から入力された動作情報(具体的には、ロボットアーム5の手先位置と、姿勢と、時間と、力との情報)とそれぞれの方向別での制御モードに基づいて、ロボットアーム5の目標とする手先位置及び姿勢目標ベクトルrdと力目標ベクトルfdを生成し、位置誤差計算部80に出力する。
具体的には、目標とするロボットアーム5の動作は、目的とする作業に応じて動作指令部27からそれぞれの時間(t=0、t=t1、t=t2、・・・)でのポイント毎の位置及び姿勢(rd0、rd1、rd2、・・・)と、力(fd0、fd1、fd2、・・・)とが与えられている。
目標軌道生成部55は、多項式補間を使用し、前記各ポイント間の軌道を補間し、手先位置及び姿勢目標ベクトルrdと力目標ベクトルfdとを生成する。
力検出部53は、人16等の対象物とロボットアーム5との接触によってロボットアーム5に加わる外力Fextを検出する。ただし、手先に重量mの物体を把持して作業している場合は、検出したFextからmgをあらかじめ減じておく。ここで、gは重力加速度である。把持物体の質量mの値は、物体を把持する前に人16が外部入力装置26dからデータ入力IF26を介して力検出部53に入力できる。また、作業対象物の識別番号、質量、形状、寸法、及び、色などの物品情報を物品データベースに格納しておき、物品認識装置が、作業物品に備えられたタグなどの識別情報を読み取り、読取った情報を基に、対応する物品の質量を物品データベースから取得することも可能である。
力検出部53は、モータドライバ25の電流センサで計測された、ロボットアーム5の各関節部を駆動するモータ43をそれぞれ流れる電流値i=[i1,i2,i3,i4,i5,i6]Tを、入出力IF24を介して取得する。また、力検出部53には、各エンコーダ44で計測された関節角の現在値qが入出力IF24を介して取り込まれるとともに、後述する近似逆運動学計算部57からの関節角度誤差補償出力uqeが取り込まれる。力検出部53は、オブザーバーとして機能し、前記電流値i、関節角の現在値q及び、関節角度誤差補償出力uqeに基づいて、ロボットアーム5に加わる外力により各関節部に発生するトルクτextを算出する。
そして、力検出部53は、式Fext=Jv(q)−Tτext−[0,0,mg]Tによりロボットアーム5の手先における等価手先外力Fextに換算して、この等価手先外力Fextをインピーダンス計算部51に出力する。ここで、Jv(q)は、
インピーダンス計算部51は、動作生成部13から制御モードの設定信号及び機械インピーダンス設定値を受け取り、機械インピーダンス設定値にロボットアーム5の機械インピーダンス値を制御する。動作生成部13から(i)位置制御モードの設定信号をインピーダンス計算部51で受け取った場合は、インピーダンス計算部51は、機械インピーダンス値として“0”を出力する。
動作生成部13から(ii)インピーダンス制御モードの設定信号をインピーダンス計算部51で受け取った場合、動作生成部13で設定された機械インピーダンス設定値である慣性Mと粘性Dと剛性Kと、エンコーダ44で計測した関節角の現在値qと、力検出部53で検出した外力Fextとに基づいて、インピーダンス計算部51は、ロボットアーム5が機械インピーダンス設定値の制御を実現するための手先の位置姿勢目標補正出力rdΔを式(5)により計算する。
インピーダンス計算部51は、式(5)により計算して求められた手先の位置姿勢目標補正出力rdΔを位置誤差計算部80に出力する。
後述する動作生成部13から(iii)力制御モードの設定信号を受け取った場合には、動作生成部13で設定された機械インピーダンス設定値である慣性Mと粘性Dと剛性Kと、エンコーダ44で計測した関節角の現在値qと、力検出部53で検出した外力Fextと、目標軌道生成部55から出力される力fdとに基づいて、インピーダンス計算部51は、ロボットアーム5が機械インピーダンス設定値の制御を実現するための手先の位置姿勢目標補正出力rdΔを以下の式(9)により計算する。
インピーダンス計算部51は、式(9)により計算して求められた手先の位置姿勢目標補正出力rdΔを位置誤差計算部80に出力する。
位置誤差計算部80は、インピーダンス計算部51から出力された手先の位置姿勢目標補正出力rdΔと、目標軌道生成部55から出力された手先の位置姿勢目標ベクトルrdとを加算し、手先の位置姿勢補正目標ベクトルrdmを生成する。
位置誤差計算部80は、手先位置及び姿勢補正目標ベクトルrdmと、後述する順運動学計算部58により計算される手先位置及び姿勢ベクトルrとの誤差reを求め、誤差reを位置誤差補償部56に出力する。
順運動学計算部58は、ロボットアーム5の各関節軸のエンコーダ44から計測された関節角の現在値qである関節角度ベクトルqが、入出力IF24を介して入力される。順運動学計算部58は、ロボットアーム5の関節角度ベクトルqから、手先位置及び姿勢ベクトルrへの変換の幾何学的計算を行う。順運動学計算部58で計算された手先位置及び姿勢ベクトルrは、位置誤差計算部80及びインピーダンス計算部51及び目標軌道生成部55に出力される。
位置誤差補償部56は、位置誤差計算部80で求められた誤差reに基づいて、位置誤差補償出力ureを近似逆運動学計算部57に出力する。
近似逆運動学計算部57は、位置誤差補償部56から入力される位置誤差補償出力ureとロボットアーム5において計測される関節角度ベクトルqとに基づいて、近似式uout=Jr(q)−1uinにより、逆運動学の近似計算を行う。ただし、Jr(q)は、
従って、位置誤差補償部56から位置誤差補償出力ureが近似逆運動学計算部57に入力されると、近似逆運動学計算部57からの出力として、関節角度誤差qeを補償するための関節角度誤差補償出力uqeが近似逆運動学計算部57から入出力IF24を介してロボットアーム5のモータドライバ25に出力される。
関節角度誤差補償出力uqeは、入出力IF24のD/Aボードを介してロボットアーム5のモータドライバ25に電圧指令値として与えられ、各モータ43により各関節軸が正逆回転駆動されロボットアーム5が動作する。
タイマー60は、制御部22内に配置され、ある一定時間(例えば、4msec毎)の経過後に各手段(各部)を実行させる。具体的には、制御部22の各手段(各部)及び制御部22に情報が入力される対象物力検出部77と対象物位置検出部78と音量検出部79とを一定時間毎に実行させる。
以上のように構成される制御部22に関して、ロボットアーム5のインピーダンス制御動作の原理について説明する。
インピーダンス制御動作の基本は、位置誤差補償部56による手先の位置姿勢誤差reのフィードバック制御(位置制御)であり、図6の点線で囲まれた部分が位置制御部(位置制御系)59になっている。位置誤差補償部56として、例えば、PID補償器を使用すれば、手先位置及び姿勢誤差reが0に収束するように位置制御部59による制御が働き、目標とするロボットアーム5のインピーダンス制御動作を実現できる。
(ii)インピーダンス制御モード及び(iii)力制御モードの場合、位置誤差計算部80は、インピーダンス計算部51からの手先の位置及び姿勢目標補正出力rdΔを加算し、位置制御部59に対して手先位置及び姿勢の目標値の補正を行う。このため、位置制御部59は、手先位置及び姿勢の目標値が本来の値より微妙にずれることになり、結果的に、ロボットアーム5の機械インピーダンスの値を、前記適切に設定された機械インピーダンス設定値に制御でき、位置制御部59の位置制御動作を補正できる。
第1実施形態の制御部22の動作ステップについて説明する。図9は、第1実施形態の制御部22の動作フローチャートである。
ロボットアーム5の関節部35〜40の各エンコーダ44により計測された関節角度ベクトルqが、入出力IF24を介して、制御部22に取り込まれる(ステップS51)。
次に、制御部22に取り込まれた関節角度ベクトルqに基づいて、近似運動学計算部57は、ロボットアーム5の運動学計算に必要なヤコビ行列Jr等の計算を行う(ステップS52)。ここでは、制御動作始動時のため、位置誤差補償部56から入力される位置誤差補償出力ureは、“0”値として計算する。
次に、順運動学計算部58は、ロボットアーム5の各エンコーダ44から計測された関節角度ベクトルqから、ロボットアーム5の現在の手先位置及び姿勢ベクトルrを計算して、位置誤差計算部80と目標軌道生成部55とインピーダンス計算部51とに出力する(ステップS53)。
次に、動作生成部13から入力された動作情報に基づき、目標軌道計算部55は、ロボットアーム5の手先の位置及び姿勢目標ベクトルrdを計算し、インピーダンス制御モード時は、ロボットアーム5の手先位置を、目標とする手先位置及び姿勢目標ベクトルrdとして位置誤差計算部80に出力し、力制御モードの時は、力目標ベクトルfdを出力する(ステップS54)。
次に、力検出部53は、モータ43の駆動電流値iと、関節角度ベクトルqと、関節角度誤差補償出力uqeとに基づいて、ロボットアーム5の手先における等価手先外力Fextを計算してインピーダンス計算部51に出力する(ステップS55)。
次に、動作生成部13からインピーダンス計算部51に入力された制御モードの切り替えを、インピーダンス計算部51で実行する(ステップS56)。
ステップ56において、制御モードのそれぞれの成分において、(i)位置制御モードの場合はステップ57に進み、(ii)インピーダンス制御モード又は(iii)力制御モードの場合は、ステップ58に進む。
ステップS57において、動作生成部13により(i)位置制御モードが設定された場合、インピーダンス計算部51は、手先位置及び姿勢目標補正出力rdΔを0ベクトルとする。その後、ステップS61に進む。
ステップS58において、動作生成部13により、(ii)インピーダンス制御モード若しくは(iii)力制御モードが設定された場合、インピーダンス計算部51は、動作生成部13において設定された機械インピーダンス設定値の慣性Mと粘性Dと剛性Kと、関節角度ベクトルqと、力検出部53により計算されたロボットアーム5に加わる等価手先外力Fextとから、手先位置及び姿勢目標補正出力rdΔが、インピーダンス計算部51により計算される。その後、ステップS60に進む。
ステップS60において、手先位置及び姿勢目標ベクトルrdと手先位置及び姿勢目標補正出力rdΔとの和である手先位置及び姿勢補正目標ベクトルrdmと、現在の手先位置及び姿勢ベクトルrとの差である、手先位置及び姿勢の誤差reを位置誤差計算部80で計算する。さらに、位置誤差補償部56は、位置誤差計算部80で計算された誤差reに基づいて、位置誤差補償出力ureを近似逆運動学計算部57に出力する。位置誤差補償部56の具体例としては、PID補償器が考えられる。定数の対角行列である比例、微分、積分の3つのゲインを調整することにより、位置誤差reが0に収束するように位置誤差補償部56の制御が働く。その後、ステップS61に進む。
ステップS61において、近似逆運動学計算部57は、ステップS2で計算したヤコビ行列Jrの逆行列を、ステップS60で得られた位置誤差補償出力ureに乗算することにより、位置誤差補償出力ureを、手先位置及び姿勢の誤差に関する値から関節角度の誤差に関する値である関節角度誤差補償出力uqeに計算する。
ステップS62において、ステップS61で計算された関節角度誤差補償出力uqeが、近似逆運動学計算部57から入出力IF24を通じ、モータドライバ25に与えられる。モータドライバ25は、関節角度誤差補償出力uqeに基づき、ロボットアーム5の関節部のそれぞれのモータ43を流れる電流量を変化させる。この電流量の変化により、ロボットアーム5のそれぞれの関節部のモータ駆動を行い、ロボットアーム5の動作を行う。
以上のステップS51からステップS62が制御の計算ループとして制御部22で繰り返し実行されることにより、制御部22によるロボットアーム5の動作の制御、すなわち、ロボットアーム5の機械インピーダンスの値を所定の設定値に制御する動作を実現することができる。
《動作生成装置2》
動作生成装置2は、教示情報データベース17Aと、環境情報データベース18と、動作生成部13と、順位決定部11と、制御則抽出部20と、データベース入出力部10と、ばらつき度合算出部12と、反応時間算出部15と、動作切替部23とにより構成される。データベース入出力部10と教示情報データベース17Aとで、人16がロボットアーム5を操作して動作の教示を行うときの、時系列の複数の教示情報を取得する教示情報取得部の一例98が構成される。環境情報データベース18とデータベース入出力部10とで、少なくとも反応時間情報とばらつき情報と(場合によっては、さらに、知覚情報)を取得する情報取得部97の一例を構成している。ここで、反応時間情報は、ロボットアーム5で行う作業対象の対象物にロボットアーム5から加えられる力情報と、ロボットアーム5で行う作業対象の対象物の位置情報と、周辺環境の音情報とのうち、少なくとも1つの情報である知覚情報を人16が受けてから、人16がロボットアーム5の操作をするまでの時間情報である。ばらつき情報は、時系列における教示情報もしくは時系列における知覚情報のいずれか1つ以上の情報との時系列におけるばらつき度合に関する情報である。
動作生成装置2は、教示情報データベース17Aと、環境情報データベース18と、動作生成部13と、順位決定部11と、制御則抽出部20と、データベース入出力部10と、ばらつき度合算出部12と、反応時間算出部15と、動作切替部23とにより構成される。データベース入出力部10と教示情報データベース17Aとで、人16がロボットアーム5を操作して動作の教示を行うときの、時系列の複数の教示情報を取得する教示情報取得部の一例98が構成される。環境情報データベース18とデータベース入出力部10とで、少なくとも反応時間情報とばらつき情報と(場合によっては、さらに、知覚情報)を取得する情報取得部97の一例を構成している。ここで、反応時間情報は、ロボットアーム5で行う作業対象の対象物にロボットアーム5から加えられる力情報と、ロボットアーム5で行う作業対象の対象物の位置情報と、周辺環境の音情報とのうち、少なくとも1つの情報である知覚情報を人16が受けてから、人16がロボットアーム5の操作をするまでの時間情報である。ばらつき情報は、時系列における教示情報もしくは時系列における知覚情報のいずれか1つ以上の情報との時系列におけるばらつき度合に関する情報である。
それぞれについて、下記に詳細を説明する。
−教示情報データベース17A−
教示情報データベース17Aは、所定の時間におけるロボットアーム5の手先位置及び姿勢から構成されるロボットアーム5の動作を教示した情報(以下、教示情報と称す。)を格納する。教示情報は、人16がロボットアーム5を操作して後述する動作生成部13で生成し、動作生成部13からデータベース入出力部10により教示情報データベース17Aに入力されて、教示情報データベース17Aに記憶される。図10は、教示情報データベース17Aのデータである教示情報を示す。
教示情報データベース17Aは、所定の時間におけるロボットアーム5の手先位置及び姿勢から構成されるロボットアーム5の動作を教示した情報(以下、教示情報と称す。)を格納する。教示情報は、人16がロボットアーム5を操作して後述する動作生成部13で生成し、動作生成部13からデータベース入出力部10により教示情報データベース17Aに入力されて、教示情報データベース17Aに記憶される。図10は、教示情報データベース17Aのデータである教示情報を示す。
(1)図10の「作業ID」の欄は、作業を識別する作業ID番号を示す。
(2)「動作ID」の欄は、作業を実行するためのロボットアーム5の個々の動作を識別する動作ID番号を示す。
(3)「位置姿勢」の欄は、動作におけるロボットアーム5の手先位置及び姿勢に関する情報を示す。なお、第1実施形態はメートル(m)単位系で示す。
(4)「時間」の欄は、ロボットアーム5の各動作を実行するための時間に関する情報を示す。なお、第1実施形態では秒(sec)単位で示す。
(5)「ユーザID」の欄は、作業を教示した人を識別するためのユーザIDを示す。
(6)「日時」の欄は、後述する動作生成部13にて教示情報を記憶する時点の日時を示す。
(7)「熟練度」の欄は、後述する順位決定部11で算出した熟練度を示す。
−環境情報データベース18−
環境情報データベース18は、人16がロボットアーム5を操作して、ロボットアーム5の動作を変更させるために使用したロボットアーム5の周辺環境に関する情報であって人16が知覚する情報(以下、環境情報(知覚情報)と称す。)を格納する。環境情報は、後述する動作生成部13で教示情報を生成する際に、教示情報と対にして動作生成部13で生成され、動作生成部13からデータベース入出力部10により環境情報データベース18に入力され、環境情報データベース18に記憶される。具体的には、人16がロボットアーム5を操作して教示情報を生成する際に、対象となる物体(ロボットアーム5で行う作業対象の対象物)にロボットアーム5から加える力の情報と、対象物位置検出部78で検出した対象物の位置情報と、音量検出部79で検出した音量情報(音情報)とのいずれか1つ以上の環境情報(知覚情報)を環境情報データベース18に記憶する。
環境情報データベース18は、人16がロボットアーム5を操作して、ロボットアーム5の動作を変更させるために使用したロボットアーム5の周辺環境に関する情報であって人16が知覚する情報(以下、環境情報(知覚情報)と称す。)を格納する。環境情報は、後述する動作生成部13で教示情報を生成する際に、教示情報と対にして動作生成部13で生成され、動作生成部13からデータベース入出力部10により環境情報データベース18に入力され、環境情報データベース18に記憶される。具体的には、人16がロボットアーム5を操作して教示情報を生成する際に、対象となる物体(ロボットアーム5で行う作業対象の対象物)にロボットアーム5から加える力の情報と、対象物位置検出部78で検出した対象物の位置情報と、音量検出部79で検出した音量情報(音情報)とのいずれか1つ以上の環境情報(知覚情報)を環境情報データベース18に記憶する。
図11Aは、環境情報データベース18のデータである環境情報を示す。
(1)図11Aの「環境ID」の欄は、環境を識別する環境ID番号を示す。
(2)「作業ID」の欄は、環境IDに該当する環境情報を取得したときの作業を示し、教示情報データベース17Aの「作業ID」を示す。
(3)「動作ID」の欄は、環境IDに該当する環境情報を取得したときの動作を示し、教示情報データベース17Aの「動作ID」を示す。
(4)「力」の欄は、対象物力検出部77で検出された力に関する情報(力の情報)を示し、力のx、y、z、φ、θ、ψ方向の成分を(fx,fy,fz,fφ,fθ,fψ)と表す。
(5)「対象物位置」の欄は、対象物位置検出部78で検出した対象物の位置を示す。
(6)「音量」の欄は、音量検出部79で検出した音量を示す。
(7)「環境種別フラグ」の欄は、環境情報の力及び対象物位置及び音量のパラメータのうちのいずれの情報が有効か否かを示すフラグに関する情報を示す。具体的には、図11Bで示した32ビットの数値で表す。図11Bにおいて、各ビットで、各パラメータの値がそれぞれ有効の場合は「1」とし、無効の場合は「0」とする。第1実施形態では0ビット目から5ビット目は力の情報、6ビット目は、対象物位置の情報、7ビット目は音量の情報を示す。例えば、0ビット目において、力のx座標の値が有効の場合は「1」とし、無効の場合は「0」とする。また、1ビット目において、力のy座標の値が有効の場合は「1」とし、無効の場合は「0」とする。また、2ビット目において、力のz座標の値が有効の場合は「1」とし、無効の場合は「0」とする。以後、順次、3,4,5ビット目は力のφ、θ、ψの有効性を表す。すなわち、有効の場合は「1」とし、無効の場合は「0」とする。さらに、6ビット目においては、対象物位置の情報が有効か無効かを示す(すなわち、有効の場合は「1」とし、無効の場合は「0」とする)。7ビット目においては、音量の情報が有効か無効かを示す(すなわち、有効の場合は「1」とし、無効の場合は「0」とする)。
また、フラグに関する情報は、将来の拡張用に多め(32ビット)に用意しているため、この例では8ビット目から31ビット目は使用しないので、「0」を入れておくが、7ビットのみ格納記憶できる変数としても良い。
−データベース入出力部10−
データベース入出力部10は、各データベース群(教示情報データベース17A、環境情報データベース18)と、順位決定部11と、動作生成部13と、ばらつき度合算出部12と、反応時間算出部15と、制御則抽出部20とのデータの入出力を行う。
データベース入出力部10は、各データベース群(教示情報データベース17A、環境情報データベース18)と、順位決定部11と、動作生成部13と、ばらつき度合算出部12と、反応時間算出部15と、制御則抽出部20とのデータの入出力を行う。
−動作切替部23−
動作切替部23は、ロボットアーム5に対して、操作盤26などのデータ入力IF26からの入力情報に基づき、(i)教示モード、(ii)再生モード、(iii)待機モード、の3つのモードの切り替えを行い、切替えたモード情報を動作生成部13へ出力する。
動作切替部23は、ロボットアーム5に対して、操作盤26などのデータ入力IF26からの入力情報に基づき、(i)教示モード、(ii)再生モード、(iii)待機モード、の3つのモードの切り替えを行い、切替えたモード情報を動作生成部13へ出力する。
(i)教示モードは、例えば図8に示すようにロボットアーム5を人16が操作して人16がロボットアーム5の動作情報を生成するモードである。
(ii)再生モードは動作生成部13で生成した動作情報に基づき、ロボットアーム5が自動で再生するモードである。
(iii)待機モードは、ロボットアーム5の電源がONとなっており、教示モードと再生モードとが設定されていないときのモードである。
モードの切り替えは、操作盤26などのデータ入力IF26により動作切替部23に入力する。
具体的には、データ入力IF26から動作切替部23への入力(例えば図2の操作盤26の電源ボタン26aの「ON」を押すなど)により電源を入れた直後は、待機モードに動作切替部23で設定する。
次に、人16が教示を開始する際には、データ入力IF26から動作切替部23への入力(例えば図2の操作盤26の教示スタートボタン26bを押すなど)により、教示モードを動作切替部23で設定する。人16が教示を終了した際には、データ入力IF26から動作切替部23への入力(例えば図2の操作盤26の教示ストップボタン26bを押すなど)により、待機モードを動作切替部23で設定する。
次に、ロボットアーム5が教示した動作を自動で再生させる場合には、人16がデータ入力IF26から動作切替部23への入力(例えば図2の操作盤26の作業スタートボタン26cを押すなど)により、再生モードを動作切替部23で設定する。再生を中断する場合又は作業が終了した場合には、人16がデータ入力IF26から動作切替部23への入力(例えば図2の操作盤26の作業ストップボタン26cを押すなど)により待機モードを動作切替部23で設定する。
−ばらつき度合算出部12−
ばらつき度合算出部12は、データベース入出力部10で入力された教示情報と環境情報とのばらつきの度合に関する情報である、時系列における、ばらつき度合を算出し、算出したばらつき度合を動作生成部13へ出力する。ここで、ばらつき度合とは、ロボットアーム5の位置もしくは姿勢の教示情報、又は、力もしくはロボットアーム5で行う作業対象の対象物の位置もしくは音量の環境情報(知覚情報)のそれぞれの方向別に時系列における変動(変位)の度合いを意味する。具体的には、例えば、ばらつき度合算出部12は、教示情報(ロボットアーム5の位置もしくは姿勢)について、それぞれの方向別に変位を求める。ばらつき度合算出部12で求めた変位の絶対値が第1の閾値(教示情報変位検出用閾値)以上である箇所を、ばらつき度合算出部12でカウントする(ここでは、そのカウントした値をb1とする)。さらに、ばらつき度合算出部12で求めた変位の絶対値が第1の閾値以上である変位について、その変位の絶対値の合計をばらつき度合算出部12で算出する(ここでは、その算出した値をh1とする)。
ばらつき度合算出部12は、データベース入出力部10で入力された教示情報と環境情報とのばらつきの度合に関する情報である、時系列における、ばらつき度合を算出し、算出したばらつき度合を動作生成部13へ出力する。ここで、ばらつき度合とは、ロボットアーム5の位置もしくは姿勢の教示情報、又は、力もしくはロボットアーム5で行う作業対象の対象物の位置もしくは音量の環境情報(知覚情報)のそれぞれの方向別に時系列における変動(変位)の度合いを意味する。具体的には、例えば、ばらつき度合算出部12は、教示情報(ロボットアーム5の位置もしくは姿勢)について、それぞれの方向別に変位を求める。ばらつき度合算出部12で求めた変位の絶対値が第1の閾値(教示情報変位検出用閾値)以上である箇所を、ばらつき度合算出部12でカウントする(ここでは、そのカウントした値をb1とする)。さらに、ばらつき度合算出部12で求めた変位の絶対値が第1の閾値以上である変位について、その変位の絶対値の合計をばらつき度合算出部12で算出する(ここでは、その算出した値をh1とする)。
次に、環境情報(知覚情報であって、具体的には、力もしくは対象物位置もしくは音量)のそれぞれについて変位をばらつき度合算出部12で求め、ばらつき度合算出部12で求めた変位の絶対値が第2の閾値(環境情報(知覚情報)変位検出用閾値)以上である箇所をばらつき度合算出部12でカウントする(ここでは、そのカウントした値をb2とする)。さらに、ばらつき度合算出部12で求めた変位の絶対値が第2の閾値以上である変位について、その変位の絶対値の合計をばらつき度合算出部12で算出する(ここでは、その算出した値をh2とする)。ばらつき度合Bは(c1×b1+c2×b2+c3×h1+c4×h2)によりばらつき度合算出部12で算出する。ただし、c1、c2、c3、c4は定数であり、あらかじめ決定しておいてばらつき度合算出部12の内部記憶部に記憶しておいても良いし、データ入力IF26を使って、ばらつき度合算出部12に後から入力しても良い。なお、各閾値及び定数の具体的な数値については後述する。
ばらつき度合は、人16が教示作業に不慣れな時点の情報と教示作業に慣れて熟練した時点の情報となどのように、経時的に複数の情報に対してばらつき度合算出部12で算出する。
また、第1の閾値と第2の閾値とは、ばらつき度合算出部12にあらかじめ設定しておいても良いし、データ入力IF26によりばらつき度合算出部12に入力することも可能である。また、第1の閾値と第2の閾値とは、方向別又は情報の種別に応じて、異なる値に設定することも可能である。さらに、第1の閾値と第2の閾値とは絶対値とする。
−反応時間算出部15−
反応時間算出15は、人16がロボットアーム5を操作してロボットアーム5の動作情報を生成する際に、ロボットアーム5の周辺の環境情報を人16が受けてから人16が行動を起こすまでの反応時間を算出する。反応時間算出15が算出した反応時間は、反応時間算出1から動作生成部13へ出力する。
反応時間算出15は、人16がロボットアーム5を操作してロボットアーム5の動作情報を生成する際に、ロボットアーム5の周辺の環境情報を人16が受けてから人16が行動を起こすまでの反応時間を算出する。反応時間算出15が算出した反応時間は、反応時間算出1から動作生成部13へ出力する。
反応時間算出部15は、教示情報データベース17Aに記憶されている教示情報とその教示情報と対で記憶されている環境情報とに基づいて、反応時間を算出する。具体的には、環境情報の変位をばらつき度合算出部12で求め、ばらつき度合算出部12で求めた変位の符号が同じであり且つ絶対値が第1の閾値以上である時点を、人16が感覚刺激を受けた時点t1(単位はmsec。以降、この時点t1を情報変化点と定義する。)としてばらつき度合算出部12で検出する。なお、具体的な算出例については後述する。
さらに、時点t1以降において、人16が行動を起こした時点t2(単位はmsecである。以降、この時点t2を行動変化点と定義する。)は、情報変化点から以降の環境情報もしくは教示情報について変位をばらつき度合算出部12で求め、最初に求めた変位の符号が同じであり且つ絶対値が第2の閾値以上の時点をばらつき度合算出部12で検出する。反応時間Tは、(行動変化点−情報変化点)、すなわち、(t2−t1)(単位はmsec)により反応時間算出部15で算出する。
また、人16が感覚刺激を受けた時点t1を算出する別の方法として、教示情報と環境情報とにより反応時間算出部15で算出する方法がある。具体的には、環境情報の変位と教示情報の変位とをそれぞればらつき度合算出部12で求め、ばらつき度合算出部12で求めた変位の絶対値が、ある第1の閾値以上の時点を人16が感覚刺激を受けた時点t1としてばらつき度合算出部12で検出する。なお、具体的な算出例については後述する。
時点t2がばらつき度合算出部12で検出できなかった場合、すなわち、情報変化点から以降の環境情報もしくは教示情報について変位をばらつき度合算出部12で求め、最初に求めた変位の符号が同じであり且つ絶対値が第2の閾値以上の時点t2がばらつき度合算出部12で検出できなかった場合には、反応時間を−1と反応時間算出部15で設定する。
反応時間は、教示作業に不慣れな時点の情報と教示作業に慣れて熟練した時点の情報となどのように、経時的に複数の情報に対して反応時間算出部15で算出する。
また、第1の閾値と第2の閾値とは、反応時間算出部15で、あらかじめ設定しておいても良いし、データ入力IF26により反応時間算出部15に入力することも可能である。また、第1の閾値と第2の閾値とは、方向別又は情報の種別に応じて、異なる値に反応時間算出部15で設定することも可能である。
−順位決定部11−
順位決定部11は、後述する動作生成部13で生成されデータベース入出力部10を介して教示情報データベース17Aに記憶された不慣れな時点の情報と、教示作業に慣れて熟練した時点の情報となどのように、経時的に複数の教示情報について、より熟練している順に、それぞれの教示情報の順位を決定する。順位決定部11で決定した順位は、順位決定部11から動作生成部13へ出力する。
順位決定部11は、後述する動作生成部13で生成されデータベース入出力部10を介して教示情報データベース17Aに記憶された不慣れな時点の情報と、教示作業に慣れて熟練した時点の情報となどのように、経時的に複数の教示情報について、より熟練している順に、それぞれの教示情報の順位を決定する。順位決定部11で決定した順位は、順位決定部11から動作生成部13へ出力する。
順位決定部11で順位を決定するとき、まず、複数の教示情報及び環境情報のそれぞれについて、ばらつき度合をばらつき度合算出部12で算出する。例えば、2つの教示情報及び環境情報から算出したばらつき度合をB1、B2とする。次に、複数の教示情報と環境情報とのそれぞれについて反応時間算出部15で反応時間を算出し、それぞれの環境情報毎に反応時間を合算して、総反応時間Tを反応時間算出部15で算出する。ただし、反応時間が−1の場合は、反応時間算出部15で合算しない。この例では2つの教示情報と環境情報とから算出した総反応時間をT1、T2とする。また、環境情報データベース18の環境情報の力と対象物の位置と音量とに関する情報のうち、いくつの情報を使っているか使用環境情報数Eとして反応時間算出部15でカウントする。この例では、2つの教示情報と環境情報とから算出した使用環境情報数をE1、E2とする。次に、ばらつき度合Bと、総反応時間Tと使用環境情報数Eとにより、それぞれの教示情報の熟練度を反応時間算出部15で算出する。熟練度P=1/(aE+bB+cT)で反応時間算出部15により算出する。反応時間算出部15で算出した熟練度Pは、反応時間算出部15により、教示情報と対応させて、データベース入出力部10を介して、教示情報データベース17Aに記憶する。なお、熟練度Pを算出するための式では、使用している環境情報数(E)とばらつき度合(B)と反応時間(T)とを合算した値が大きいほど、熟練度Pが小さくなることを示す。すなわち、多くの周辺環境に関する情報を使い、また、教示結果である教示情報と環境情報とのばらつきが大きく、さらに、人16が感覚刺激を受けてから実際に行動を起こすまでの時間である反応時間が大きいほど、その作業に人16が熟練していないと決定し、熟練度Pを小さくする。ある作業に人16が熟練してくると、必要最小限の環境情報だけを使いながら教示を行えるようになり、さらに教示結果のばらつきが少なく、また、人16の感覚刺激に対する反応時間が小さくなることから、この式により、熟練度Pが大きくなるように算出できることとなる。
ただし、a、b、cは定数であり、反応時間算出部15において、あらかじめ決定しておいても良いし、データ入力IF26を使って、後から反応時間算出部15に入力しても良い。順位決定部11が、反応時間算出部15で算出した熟練度Pの大きい順に、複数の教示情報の順位を決定する。さらに、後述する動作生成部13の順位組換部64は、定数a、b、cを作業またはその作業の一部に応じて決定することで、環境情報数(E)とばらつき度合(B)と反応時間(T)とに重み付けすること(すなわち、定数を重みとすること)ができて、順位を組み替えることが可能である。例えば、リサイクル工場での部品の解体作業の場合には、汚れ又は破損状態など部品の変動が大きい。そのため、熟練者であっても非熟練者であっても、教示情報又は環境情報のばらつきが大きくなる。しかしながら、解体作業に慣れている熟練者は、感覚刺激に対する反応時間が小さくなることから、ばらつき度合(B)の重みbを小さく設定するか、もしくは、重みbを「0」とし、反応時間(T)の重みcを大きくしておくことで、反応時間の大小が熟練度Pの値に大きく影響するように反応時間算出部15で算出することが可能となる。また、一般的には、人16は、力覚、聴覚、視覚の順で反応時間が短くなると言われている。フレキシブル基板74を挿入するときに、コネクタの挿入口75まで移動する場合には、主に視覚を使い、コネクタ挿入口75から挿入を完了させる時に使う力覚を使う。反応時間(T)の重みcは、主に視覚を使う区間は小さく設定し、力覚を使う区間は大きく設定することで、使う感覚刺激に対する反応時間の差を吸収することが可能となる。
なお、ここでは、反応時間算出部15において、ばらつき度合Bと、総反応時間Tと、使用環境情報数Eとにより熟練度Pを反応時間算出部15で算出したが、取得した複数の教示情報について、例えば大人と子供とが作業した場合又はロボットのプロと素人とが作業した場合など、熟練度Pを反応時間算出部15で算出しなくても順位決定部11で順位を決定できる場合は、この方法によらず、順位決定部11で順位を決定しても良い。
−制御則抽出部20−
制御則抽出部20は、データベース入出力部10で入力された教示情報と環境情報とから、ロボットアーム5が自動で動作するための制御則(センサーフィードバック則)の情報を抽出する。具体的には、反応時間算出部15で説明したように、それぞれの教示情報と環境情報とから、情報変化点と、情報変化点以降の行動変化点とを反応時間算出部15で算出し、行動変化点以降の時間から次の情報変化点までの区間において、行動変化点が検出された情報を近似曲線で制御則抽出部20で近似する。次の情報変化点が検出されないと反応時間算出部15で判断した場合は、行動変化点が検出された情報の終わりの時点まで、近似曲線で制御則抽出部20で近似する。
制御則抽出部20は、データベース入出力部10で入力された教示情報と環境情報とから、ロボットアーム5が自動で動作するための制御則(センサーフィードバック則)の情報を抽出する。具体的には、反応時間算出部15で説明したように、それぞれの教示情報と環境情報とから、情報変化点と、情報変化点以降の行動変化点とを反応時間算出部15で算出し、行動変化点以降の時間から次の情報変化点までの区間において、行動変化点が検出された情報を近似曲線で制御則抽出部20で近似する。次の情報変化点が検出されないと反応時間算出部15で判断した場合は、行動変化点が検出された情報の終わりの時点まで、近似曲線で制御則抽出部20で近似する。
また、近似曲線は、例えば最小二乗法を用いて制御則抽出部20で算出する。また、情報変化点から行動変化点までの時間(反応時間)が第1の閾値(反応時間検出用閾値)以下であると制御則抽出部20で判断した場合は、人16がセンサーフィードバックを行わずに予測して行動を起こしていると制御則抽出部20で判断して、センサーフィードバックの抽出は行わない。なお、ここでは近似曲線としたが、近似せずに、行動変化点を検出した情報をそのまま、制御則抽出部20で使用しても良い。
−動作生成部13−
図12は動作生成部13の詳細なブロック図を示す。動作生成部13は、教示部61と再生部62とを有して、教示情報を生成し記憶させるとともに、記憶した教示情報を基に動作情報を再生してロボットアーム5を動作させる。再生部62は、再生制御部63と順位組換部64と判断部65とを有している。動作切替部23により教示モードに設定された場合、人16の教示操作に基づいて、動作生成部13の教示部61は、教示情報と環境情報とを生成し、生成した教示情報と環境情報とを、データベース入出力部10を介して、教示情報データベース17Aと環境情報データベース18とに記憶する。
図12は動作生成部13の詳細なブロック図を示す。動作生成部13は、教示部61と再生部62とを有して、教示情報を生成し記憶させるとともに、記憶した教示情報を基に動作情報を再生してロボットアーム5を動作させる。再生部62は、再生制御部63と順位組換部64と判断部65とを有している。動作切替部23により教示モードに設定された場合、人16の教示操作に基づいて、動作生成部13の教示部61は、教示情報と環境情報とを生成し、生成した教示情報と環境情報とを、データベース入出力部10を介して、教示情報データベース17Aと環境情報データベース18とに記憶する。
具体的には、動作切替部23により教示モードが設定された場合には、インピーダンス制御で動作するように、教示部61は制御部22に指令を出す。次に、人16がロボットアーム5を移動させて、教示部61は、制御部22のタイマー60を利用して、ある一定時間毎(例えば4msec毎)にロボットアーム5の手先位置及び姿勢の情報を制御部22より取得し、データベース入出力部10により、前記取得した手先位置及び姿勢の情報と時間情報と対応させて、教示した日時と共に、教示情報データベース17Aに記憶する。
さらに、教示部61は、人16が教示をしているときの周辺の環境に関する情報である環境情報(知覚情報であって、具体的には、力もしくは対象物の位置もしくは音量情報のいずれか1つ以上の情報)を、対象物力検出部77及び対象物位置検出部78及び音量検出部79により、教示情報と対にして制御部22より取得し、データベース入出力部10により、前記取得した環境情報と時間情報とを対応付けて、環境情報データベース18に記憶する。
これらの情報は、動作切替部23で「教示モード」が設定されたタイミングで、教示部61から教示情報データベース17A及び環境情報データベース18への記憶を開始し、「教示モード」から「待機モード」に変更された時点で、教示部61から教示情報データベース17A及び環境情報データベース18への記憶を停止する。また、動作生成部13の教示部61は、教示作業に不慣れな時点の情報と、教示作業に慣れて熟練した時点の情報となどのように、経時的に複数の情報を生成して教示情報データベース17A及び環境情報データベース18に記憶する。
動作切替部23により再生モードが設定された場合に、動作生成部13の再生部62は、データベース入出力部10を介して入力された教示情報と環境情報と、制御則抽出部20で抽出した制御則と、順位決定部11で決定した順位とに基づき、ロボットアーム5の動作情報を生成し、制御部22へ出力する。
具体的には下記で説明する。
まず、再生部62の再生制御部63は、教示作業に不慣れな時点の情報と教示作業に慣れて熟練した時点の情報となどのように、経時的に取得した複数の情報から、制御則抽出部20により、センサーフィードバック則を抽出するよう、制御則抽出部20に指令を出す。
次に、再生部62の再生制御部63は、ばらつき度合算出部12に、ばらつき度合を算出するよう指令を出す。
次に、再生部62の再生制御部63は、反応時間算出部15に、反応時間を算出するよう指令を出す。
次に、再生部62の再生制御部63は、順位決定部11に、ばらつき度合算出部12で算出したばらつき度合と反応時間算出部15で算出した反応時間とから、順位決定部11により、より熟練している順にもそれぞれの教示情報の順位を決定する指令を出す。
次に、再生部62の再生制御部63は、制御則抽出部20で抽出したセンサーフィードバック則で動作を修正し、目標とする位置及び姿勢情報である手先位置及び姿勢目標ベクトルrdと目標とする力情報である力目標ベクトルfdとそれぞれの方向別に位置制御モードで動作させるか、もしくは、力制御で動作させるかのモードに関する情報とを、制御部22へ出力する。
制御則抽出部20で抽出したセンサーフィードバック則で動作を修正する方法は、順位決定部11により決定した、最も順位の高い教示情報(すなわち、最も熟練した人の教示情報)を、目標とする位置及び姿勢情報に再生制御部63で設定し、設定した位置及び姿勢情報に基づいて位置制御モードで動作するように再生制御部63から制御部22へ出力する。
次に、再生部62の順位組換部64は、図13に示すように、ロボットアーム5が最も順位の高い教示情報(図13では、第1位の教示情報)により動作中に、情報変化点がばらつき度合算出部12で検出された場合には、順位の高い教示情報及び環境情報から抽出されたフィードバック則を適用し(図13では、第1位の教示情報フィードバック則)、うまく動作していない(動作情報で正常にロボットアーム5が動作していない)と判断部65で判断された場合には、順位の低い教示情報及び環境情報から抽出されたフィードバック則(図13では、第2位の教示情報フィードバック則)に組み替えて適用させて、位置姿勢もしくは力に関する情報を修正する。うまく動作している(動作情報で正常にロボットアーム5が動作している)と判断部65で判断された場合には、順位組換部64は、順位の低い教示情報及び環境情報から抽出されたフィードバック則(図13では、第2位の教示情報フィードバック則)の適用を行わない。
再生制御部63は、順位組換部64で切り替えたフィードバック則で修正した目標軌道について、手先位置及び姿勢目標ベクトルrdと目標とする力情報である力目標ベクトルfdとそれぞれの方向別に位置制御モードで動作させるか、もしくは、力制御で動作させるかのモードに関する情報とを、制御部22へ出力する。具体的には、位置制御の場合には「0」を、力制御の場合には「1」を再生制御部63で設定し、位置及び姿勢方向それぞれについて再生制御部63で設定する。
なお、教示モードにて教示する際に、人16がロボットアーム5の手先の位置姿勢及び時間の情報を連続的に作成しているが、これに限られるものではなく、それぞれの位置姿勢及び時間の情報を、人16がキーボード、マウス、又は、マイクなどの外部入力装置26dを使用して個別に入力しても良い。
次に、人16がロボットアーム5を操作してロボットアーム5の動作を教示し、ロボットアーム5が自動で動作を再生する手順について、図14及び図15のフローチャートを使って説明する。
ここでは、レコーダ、テレビ、又は、携帯電話などで使用されているフレキシブル基板74の挿入作業を例に説明する。
まず、環境情報としてフレキシブル基板74に加わる力加減を使って、フレキシブル基板74の挿入作業を例に説明する。
ステップS100において、教示を開始する際には、人16は、データ入力IF26から動作切替部23への入力(例えば図2の操作盤26の教示スタートボタン26bを押す)により、教示開始の命令を動作切替部23へ入力する。動作切替部23へ入力された動作モード(この例では教示モード)は、動作切替部23で設定され、動作切替部23から動作生成部13に出力される。
次いで、ステップS101において、動作生成部13の教示部61は、動作切替部23からの入力(この例では教示モード)を受けて、制御部22へ、インピーダンスで制御するように指令を出す。制御部22は、人16が加えた力でロボットアーム5を動作できるように、インピーダンス制御モードに切り替える。
図3A〜図3D(図3E〜図3Hは、図3A〜図3Dを上から下に見た図)は、人16が手16aでロボットアーム5を操作し、教示している手順を示す。人16は、図3A→図3B→図3C→図3Dの順にロボットアーム5を操作して教示を行う。
次いで、ステップS102において、図3A〜図3Dに示すように、力の情報の管理を位置姿勢と対にして管理する。すなわち、人16が操作しているときのロボットアーム5の手先の位置姿勢及び時間の情報と、フレキシブル基板74が挿入口75に接触したときに対象物力検出部77で検出した力とを、タイマー60を利用して、ある一定時間毎(例えば4msec毎)に、動作生成部13の教示部61で生成し、データベース入出力10を介して、動作情報データベース17及び環境情報データベース18に記憶する。
教示が終了すると、ステップS103において、人16はデータ入力IF26から動作切替部23への入力(例えば図2の操作盤26の教示ストップボタン26bを押す)により、教示終了の命令を入力する。入力された動作モード(この例では待機モード)は、動作切替部23で設定され、動作生成部13に出力される。
次いで、ステップS104において、動作生成部13は、動作切替部23からの入力(この例では待機教示モード)を受けて、制御部22へ位置制御モード(同じ位置で停止する)で制御するように指令を出す。さらに、動作生成部13での動作情報の生成を終了する。
次いで、ステップS105において、制御部22は、ロボットアーム5を停止するように、位置制御モードに切り替える。
図16の(A)と(B)は動作生成部13で生成した位置と力との時系列データのうち、フレキシブル基板74の挿入の方向のみをプロットしたグラフである。以降、図16の(A)の動作を動作パターンCとし、図16の(B)の動作を動作パターンDとする。
図16の(A)の動作パターンCは、ロボットアーム5を操作して教示したフレキシブル基板74の挿入作業について、作業に不慣れな時点の情報を示す。図16の(B)と図16の(A)とは同様の作業だが、図16の(B)の動作パターンDは、教示作業に慣れて熟練した時点の情報を示す。図16の(A)と図16の(B)は同一の人16に対して経時的に取得しても良いし、熟練度が違う異なる人物で取得しても良い。
図16の(A)及び(B)について、図3A〜図3Dの手順で教示をしている際のフレキシブル基板74と挿入口75の状態をそれぞれのグラフに対応付けて図示する。
図3Eは、フレキシブル基板74を挿入口75に向かって移動している状態を示す。この状態は、図16の(A)の(1)と図16の(B)の(5)に相当する。図16の(A)の(1)はフレキシブル基板74の挿入作業に十分慣れていないため、熟練した情報である図16の(B)の(5)に比べて、位置情報が変動している。
図3Fは、フレキシブル基板74を挿入口75に挿入するため、フレキシブル基板74が挿入口75に接触した瞬間を示す。この状態は、図16の(A)の(2)と図16の(B)の(6)に相当する。力の情報を比較すると、図16の(A)の(1)はフレキシブル基板74の挿入作業に十分慣れていないため、熟練した情報である図16の(B)の(6)に比べて、フレキシブル基板74が挿入口75に接触するときにフレキシブル基板74を挿入口75に強く押し当てている。非熟練者は強く押し当てることで接触したことを認知しているが、熟練者は強く押し当てなくても、これまでの経験から接触していることを認知することができる。
図3Gは、フレキシブル基板74を挿入口75に挿入している状態を示す。図16の(A)の(3)と図16の(B)の(7)に相当する。フレキシブル基板74を挿入口75に挿入している最中は、フレキシブル基板74を挿入口75に接触させながら挿入しているため、接触力が大きくなり(図16の(A)の(3)及び図16の(B)の(7)では、力の符号がマイナスであるため、下方向に下がってプロットされている)、さらに位置情報は挿入方向に移動している。図16の(A)の(3)は、図16の(B)の(7)に比べて、位置及び力とも変動がある。これはフレキシブル基板74の柔軟性を、挿入口付近で試行錯誤しながら挿入していることを表している。しかしながら、図16の(B)の(7)では、これまでの経験から加える力及びそれに伴う移動量などが予測でき、必要最小限の操作により挿入ができていることを表している。
図3Hは、フレキシブル基板74の先端がコネクタの挿入口75の奥に接触した状態を表す。この状態は、図16の(A)の(4)と図16の(B)の(8)に相当する。図16の(A)の(4)は、図16の(B)の(8)に比べて、コネクタの挿入口75の奥に強く押し当てている。これは、非熟練者は強く押し当てることで接触したことを認知しているが、熟練者は強く押し当てなくてもこれまでの経験から強く接触しなくても奥まで挿入できる。
次に、図16の(A)及び図16の(B)の教示情報及び環境情報に基づいて、ロボットアーム5が自動で動作するための動作生成の手順について図15を用いて説明する。
ロボットによる自動再生を開始する際には、ステップS150において、人16は、データ入力IF26から動作切替部23への入力(例えば図2の操作盤26の作業スタートボタン26cを押す)により、作業開始の命令を動作切替部23へ入力する。動作生成部13は、動作切替部23からの入力(この例では再生モード)を受けて、動作生成部13の再生部62は、動作の再生を開始する。
次に、ステップS151において、再生部62の再生制御部63は、教示時に取得した図16の(A)と図16の(B)の2つの教示情報及び環境情報について、ばらつき度合算出部12によりばらつき度合を算出する。
この例では、図16の(A)及び図16の(B)に示した挿入方向のみの位置と力との情報により、ばらつき度合をばらつき度合算出部12で算出するよう指令をばらつき度合算出部12に出す。ばらつき度合算出部12における挿入方向の位置の第1の閾値(教示情報変位検出用閾値)を0.5(mm)、挿入方向の力の第2の閾値(環境情報(知覚情報)変位検出用閾値)を0.5(N)とする。挿入方向の位置の変位をばらつき度合算出部12で求め、ばらつき度合算出部12で求めた変位の絶対値が第1の閾値以上である箇所をばらつき度合算出部12でカウントする(ここでは、そのカウントした値をb11とする)。図16の(A)に対して、第1の閾値以上の箇所を図17Aの(1)〜(6)に示す。ここでは、ばらつき度合算出部12で6箇所検出されたため、b11=6となる。
次に、ばらつき度合算出部12で求めた変位の絶対値が第1の閾値以上である変位について、その変位の絶対値の合計をばらつき度合算出部12で算出する(ここでは、その算出した値をh11とする)。図17Aの(1)〜(6)のそれぞれの変位は、0.51、0.51、0.50、0.50、0.53、0.54であるため、それらの値の合計をばらつき度合算出部12で算出すると、h11=3.09となる。
次に、ばらつき度合算出部12で求めた変位の絶対値が第1の閾値以上である変位について、その変位の絶対値の合計をばらつき度合算出部12で算出する(ここでは、その算出した値をh11とする)。図17Aの(1)〜(6)のそれぞれの変位は、0.51、0.51、0.50、0.50、0.53、0.54であるため、それらの値の合計をばらつき度合算出部12で算出すると、h11=3.09となる。
次に、挿入方向の力の変位をばらつき度合算出部12で求め、ばらつき度合算出部12で求めた変位の絶対値が第2の閾値以上である箇所をばらつき度合算出部12でカウントする(ここでは、そのカウントした値をb12とする)。図16の(A)に対して、第1の閾値以上の箇所を図17Aの(7)〜(10)に示す。ここでは、ばらつき度合算出部12で4箇所検出されたため、b12=4となる。
次に、ばらつき度合算出部12で求めた変位の絶対値が第2の閾値以上である変位について、その変位の絶対値の合計をばらつき度合算出部12で算出する(ここでは、その算出した値をh12とする)。
図17Aの(7)〜(10)のそれぞれの変位は、0.7、0.53、1.3、0.60であるため、それらの値の合計をばらつき度合算出部12で算出すると、h12=3.13となる。ばらつき度合B1は(c1×b11+c2×b12+c3×h11+c4×h12)の式により、B1=16.22となる。ただし、この例では、c1、c2、c3、c4を全て1.0の定数とする。
図16の(B)でも同様に、挿入方向の位置の変位をばらつき度合算出部12で求め、ばらつき度合算出部12で求めた変位の絶対値が第1の閾値以上である箇所をばらつき度合算出部12でカウントする(ここでは、そのカウントした値をb21とする)。図16の(B)に対して、第1の閾値以上の箇所を図17Bの(11)〜(12)に示す。ここでは、ばらつき度合算出部12で2箇所検出されたため、b21=2となる。
次に、ばらつき度合算出部12で求めた変位の絶対値が第1の閾値以上である変位について、その変位の絶対値の合計をばらつき度合算出部12で算出する(ここでは、その算出した値をh21とする)。
図17Bの(11)〜(12)のそれぞれの変位は、0.51、0.53であるため、それらの値の合計をばらつき度合算出部12で算出すると、h21=1.04となる。
次に、挿入方向の力の変位をばらつき度合算出部12で求め、ばらつき度合算出部12で求めた変位の絶対値が第2の閾値以上である箇所をばらつき度合算出部12でカウントする(ここでは、そのカウントした値をb22とする)。図16の(B)に対して、第1の閾値以上の箇所を図17Bの(13)〜(16)に示す。ここでは、ばらつき度合算出部12で4箇所検出されたため、b22=4となる。
次に、ばらつき度合算出部12で求めた変位の絶対値が第2の閾値以上である変位について、その変位の絶対値の合計をばらつき度合算出部12で算出する(ここでは、その算出した値をh22とする)。
図17Bの(13)〜(16)のそれぞれの変位は、0.51、0.52、0.55、0.60であるため、それらの値の合計をばらつき度合算出部12で算出すると、h22=2.18となる。ばらつき度合B2は(b21+b22+h21+h22)の式により、B2=9.22となる。
次に、ステップS152において、再生部62の再生制御部63は、教示時に取得した図16の(A)と図16の(B)の2つの教示情報及び環境情報を用いて、反応時間算出部15により、反応時間を算出するように、反応時間算出部15に指令を出す。この例では、図16の(A)及び図16の(B)に示した挿入方向のみの位置と力との情報により、反応時間を反応時間算出部15で算出する。反応時間算出部15の第1の閾値を0.5(N)とし、第2の閾値を0.2(N)とする。
具体的には、挿入方向の力の変位をばらつき度合算出部12で求め、ばらつき度合算出部12で求めた変位の符号が同じであり且つ絶対値が第1の閾値以上である時点を、人16が感覚刺激を受けた時点t1(単位はmsec。以降、この時点t1を情報変化点と定義する。)として、3013msecとしてばらつき度合算出部12で検出する。図18Aの(1)は検出した時点t1を示す。次に、時点t1以降において、人16が行動を起こした時点t2(単位はmsec。以降行動変化点と定義する)は、情報変化点から以降の挿入方向の力の変位をばらつき度合算出部12で求め、変位の符号が同じであり且つ絶対値が第2の閾値以上の時点をばらつき度合算出部12で検出する。具体的には、時点t2=3363msecをばらつき度合算出部12で検出し、図18Aの(2)は、ばらつき度合算出部12で検出した時点t2を示す。反応時間T1は(t2−t1)(単位はmsec)により反応時間算出部15で算出し、この例ではT1=350msecとなる。同様に、図18Aの(3)を人16が感覚刺激を受けた時点t3としてばらつき度合算出部12で検出し、図18Aの(4)を人16が行動を起こした時点t4としてばらつき度合算出部12で検出し、反応時間T2は(t4−t3)で反応時間算出部15で計算し、この例ではT2=320msecとなる。また、図18Bも同様に、図18Bの(5)を人16が感覚刺激を受けた時点t5としてばらつき度合算出部12で検出し、図18Bの(6)を人16が行動を起こした時点t6としてばらつき度合算出部12で検出し、反応時間T3は(t6−t5)で計算し、この例ではT3=230msecとなる。さらに、図18Bの(7)を人16が感覚刺激を受けた時点t7としてばらつき度合算出部12で検出し、図18Bの(8)を人16が行動を起こした時点t8としてばらつき度合算出部12で検出し、反応時間T4は(t8−t7)で反応時間算出部15で計算し、この例ではT4=105msecとなる。
次に、ステップS153において、再生部62の再生制御部63は、順位決定部11で図16の(A)と図16の(B)でどちらがより熟練度合の高い動作であるかの順位を決定するよう指令を順位決定部11に出す。
順位決定部11は、環境情報データベース18の環境情報の力と対象物の位置と音量に関する情報のうち、いくつの情報を使っているか使用環境情報数Eとしてカウントする。この例では、図16の(A)も図16の(B)も力のみを使用して教示しているため、図16の(A)の使用環境情報数E1=1、図16の(B)の使用環境情報数E2=1となる。また、図18Aに示すように、反応時間算出部15で算出した反応時間T1、T2から、総反応時間TTを算出する。この例では、T1=350msec、T2=320msecとなるため、全ての反応時間を合算して、総反応時間TT1=670msecとなる。図18Bも同様に、反応時間T3=230msec、T4=105msecであるため、総反応時間TT2=335msecとなる。
また、ばらつき度合算出部12で算出したばらつき度合は、それぞれ、B1=16.22、B2=9.22として算出される。図16の(A)及び図16の(B)それぞれの熟練度はP=1/(aE+bB+cT)で算出されるため、P1=(aE1+bB1+cTT1)となり(ただし、a、b、cは定数であり、この例ではa=100、b=10、c=1とする)、P1=0.00107となる。同様に図16の(B)の熟練度P2=0.00173となる。算出した熟練度Pは、データベース入出部10を介して、教示情報データベース17Aに記憶する。値が大きい方がより熟練度の高い動作として決定するため、図16の(B)、図16の(A)の順で熟練度合の高い動作として順位決定部11で決定する。
次に、ステップS154において、再生部62の再生制御部63は、制御則抽出部20により、センサーフィードバック則を抽出するよう指令を制御則抽出部20に出す。制御則抽出部20で抽出したセンサーフィードバック則は、制御則抽出部20から動作生成部13へ出力する。この例では、図16の(A)及び図16の(B)の教示情報及び環境情報からフィードバック則を制御則抽出部20で抽出する。フィードバック則は、ステップS152のばらつき度合算出部12で検出した情報変化点と行動変化点に基づいて制御則抽出部20で抽出する。
具体的には、図18Aにおいて、挿入方向の力の変位をばらつき度合算出部12で求め、ばらつき度合算出部12で求めた変位の符号が同じであり且つ絶対値が第1の閾値以上である時点を、人16が感覚刺激を受けた時点t1(図18Aの(1)、情報変化点)としてばらつき度合算出部12で検出する。次に、時点t1以降において、人16が行動を起こした時点t2(行動変化点)は、情報変化点から以降の挿入方向の力の変位をばらつき度合算出部12で求め、変位の符号が同じであり且つ絶対値が第2の閾値以上の時点をばらつき度合算出部12で検出する。具体的には図18Aの(2)のt2をばらつき度合算出部12で検出する。続いて、時点t2以降の情報変化点と行動変化点とを同様の方法でばらつき度合算出部12で検出する。ばらつき度合算出部12で検出した情報変化点と行動変化点とは、図18Aに示すように情報変化点t3、行動変化点t4としてばらつき度合算出部12で検出される。
1つ目のフィードバック則SB11は、行動変化点t2が検出された時点から次の情報変化点t3の時点までの力の情報を、制御則抽出部20により、近似曲線で近似する。近似曲線は例えば最小二乗法を用いて算出する。2つ目のフィードバック則SB12は、行動変化点t4が検出された時点から次の情報変化点までで制御則抽出部20により抽出するが、この例では行動変化点t4以降の情報変化点は検出されないため、行動変化点t4から力の情報が終わるまでの時点までを、制御則抽出部20により、近似曲線で近似する。算出したフィードバック則SB11及びSB12を図18Cに示す。
次に、図18Bについても同様にフィードバック則を制御則抽出部20で抽出する。1つ目のフィードバック則SB21は、情報変化点t5以降に行動変化点t6が検出された時点から次の情報変化点t7の時点までの力の情報を、制御則抽出部20により、近似曲線で近似する。近似曲線は例えば最小二乗法を用いて算出する。2つ目のフィードバック則SB22は、情報変化点t7以降の行動変化点t8を検出して、制御則抽出部20により、抽出するが、情報変化点t7から行動変化点t8までの反応時間T4=105msecが第3の閾値(センサーフィードバック抽出用閾値)(この例では200msec)以下であるため、人16がセンサーフィードバックを行わず、予測で教示したと制御則抽出部20で判断し、第2のセンサーフィードバックの抽出は制御則抽出部20で行わない。制御則抽出部20で算出したフィードバック則SB21を図18Dに示す。
次に、ステップS155において、動作生成部13の再生部62は、制御則抽出部20で抽出したセンサーフィードバック則と、順位決定部11で決定した順位に基づき、ロボットアーム5の動作を再生する。
図19は動作生成部13で生成した動作の実行順序を示す。
まず、再生部62の順位組換部64は、最も順位の高い教示情報(すなわち、熟練度の高い教示情報)を、目標とする位置及び姿勢情報に設定する(図19の(1))。この例では、順位決定部11で、図16の(B)の動作パターンDの教示情報の順位が高いため、動作パターンDの挿入方向の位置に加えて、動作パターンDの位置及び姿勢の情報を、目標として順位組換部64で設定する。この例では、目標の情報が位置情報であるため、位置及び姿勢方向の全ての方向について位置制御モードで動作するように図16の(B)の動作パターンDの位置及び姿勢情報とともに、順位組換部64から制御部22へ出力する。制御部22では、図16の(B)を含む位置及び姿勢情報にて位置制御モードで動作するように制御する。
この例では、図20Aに示すようにフレキシブル基板74が挿入口75に向かって、位置制御モードで挿入を開始する。よりばらつき度合の少ない図16の(B)の位置を使ってロボットアーム5を動作させるため、図16の(A)の図3Eに対応する区間(1)に比べて、図16の(B)の図3Eに対応する区間(5)について、位置の変動が少ないため、フレキシブル基板74が挿入口75まで安定して移動することが可能となる。動作中は、ロボットアーム5の位置及び姿勢の情報を制御部22を介して、動作生成部13の再生部62へ入力する(図19の(5))。加えて、対象物(この例ではフレキシブル基板74)に加わる力を対象物力検出部78で計測して、対象物力検出部78から動作生成部13の再生部62に入力する(図19の(6))。
次に、図20Bのように、フレキシブル基板74が挿入口75に接触する。順位組換部64は、この時点で抽出されたセンサーフィードバック則が存在している場合は、その適用を行う。順位組換部64で適用するセンサーフィードバック則は、順位決定部11で決定した、最も順位の高い順の教示情報から取得したセンサーフィードバック則を動作生成部13で適用する。このとき、うまく動作しないと判断部65で判断された場合には、次の順位の教示情報から取得したセンサーフィードバック則を動作生成部13で適用する。これは、要するに、熟練度の高い方のフィードバック則を用いて、うまく動作しないと判断部65で判断した場合、次に熟練度の高いフィードバック則を用いることを意味している。一方、うまく動作していると判断部65で判断された場合には、順位組換部64は、順位の低い教示情報及び環境情報から抽出されたフィードバック則の適用を行わない。この例では、まず、より熟練した動作である図18Bの行動変化点t6以降から抽出したセンサーフィードバック則SB21を適用し(図19の(2))、うまく動作しないと判断部65で判断した場合は、非熟練動作である図18Aの行動変化点t4以降から抽出したフィードバック則SB11(図19の(3))を動作生成部13で適用することになる。
具体的には、対象物力検出部78で検出した力が、図18Bの時点t5を検出したときの力の変位以上になった時点(図18Bの(5))をばらつき度合算出部12で検出し、その時点以降の行動変化点t6からセンサーフィードバック則SB21として制御則抽出部20で近似した力を、目標値として、制御則抽出部20から制御部22へ出力する。この場合は、力を目標値とするため、制御モードは力制御モードで制御するように動作生成部13から制御部22へ出力する。
このように、最も熟練度の高い教示情報から抽出したセンサーフィードバック則を順位組換部64で適用することで、フレキシブル基板74が挿入口75に接触する力を最小限にし、さらに挿入時の位置及び力の変動が少ない、安定した動作情報を生成することが可能となる(図20C)。また、対象物力検出部78で検出したフレキシブル基板74に加わる力を制御部22にフィードバックすることで、フレキシブル基板74の柔軟性に適応した動作生成が可能となる。
一方、フレキシブル基板74がモデルチェンジにより、図35Aに示したように、教示したときのフレキシブル基板74より硬いフレキシブル基板74Cに変更になった場合での再生について説明する。
この例では、フレキシブル基板74Cの幅と長さは教示時と同じとする。再生部62により、図20Aに示す挿入口75までは、図19の(1)に示すように、熟練度の高い教示情報を目標として動作する。
次に、再生部62により、センサーフィードバック則SB21を適用して力制御モードで動作する。しかしながら、図18Bの時点t6から時点t7までの力の近似曲線を目標として、フレキシブル基板74Cが硬くなっているため、時点t6から時点t7までの力では弱く、挿入動作が途中で停止する。挿入動作が途中で停止した場合には、再生部62により、次の順位の教示情報から抽出したセンサーフィードバック則を適用する。なお、動作生成部13の判断部65において、挿入完了の成功の有無の判断を行う。具体的には、挿入完了した時点で、手前に戻す動作を行うと同時にロボットアーム5の手先位置を制御部22で取得する。挿入が完了していない場合には、手前に戻す動作をしても挿入状態に変化はないため、取得した手先位置に変動がない。しかしながら、挿入が完了していない場合には、手前に戻すと、フレキシブル基板74が手前に移動するため、取得した手先位置に変動がある。取得した手先位置に変動がある場合はうまく挿入ができていないと判断部65で判断する。また、動作途中の成功の有無の判断を判断部65で行うときは、位置もしくは力の指令値でロボットアーム5を動作させた場合に、その指令値通りにロボットアーム5が動作しない場合は失敗と判断部65で判断する。具体的には、位置指令値で動作させている場合に障害物などに当たりその位置に移動できなかった場合、又は、力指令値で動作させているがワークに接触せずに力指令値どおりに力を加えることができない場合は、失敗と判断部65で判断する。
この例では、センサーフィードバック則SB11を適用する(図19の(3))。このセンサーフィードバック則SB11はフレキシブル基板74に対して、強めに力を加えて動作する。これは、人16が教示時に強めに力を加えて操作することで、接触したことを認知して作業をしているためである。
センサーフィードバック則SB11を適用することで、センサーフィードバック則SB21よりは強めに力を加えて挿入作業をすることから、図20Cに示すように、うまく挿入作業ができる。
次に、図20Dに示すようにフレキシブル基板74の挿入が完了する動作について説明する。順位組換部64は、図20Dに示すように、フレキシブル基板74がコネクタの奥に接触した時点で抽出したセンサーフィードバック則が存在している場合は、その適用を行う。適用するセンサーフィードバック則は、順位決定部11で決定した、最も順位の高い順の教示情報から取得したセンサーフィードバック則を順位組換部64で適用し、うまく動作しないと判断部65で判断した場合には、次の順位の教示情報から取得したセンサーフィードバック則を順位組換部64で適用する。
この例では、より熟練した動作である図18Bの情報変化点t7以降で抽出したセンサーフィードバック則を順位組換部64で適用するが、この例では、T4=105msecが第3の閾値(この例では200msec)以下であるため、人16がセンサーフィードバックを行わず、予測で教示したと制御則抽出部20で判断し、センサーフィードバックの抽出は行っていない。
そこで、対象物力検出部78で検出した力が、図18Bの時点t7を検出したときの力の変位以上になった時点(図18Bの(7))をばらつき度合算出部12で検出し、センサーフィードバックが存在していないため、t7の時点以降は、図18Bの挿入方向の位置を含む位置及び姿勢情報で位置制御モードにて動作するように、再生制御部63から制御部22へ出力する(図19の(7))。
この例では、フレキシブル基板74が挿入口75の奥まで接触した時点でフレキシブル基板74を少し手前に戻す動作となる。人16は、より熟練してくるとセンサーフィードバックを行わず、予測を働かせて動作させているが、その軌道は変動が少ないため、安定して動作する。
一方、フレキシブル基板74がモデルチェンジにより、図35Bに示したように、教示した時のフレキシブル基板74より柔らかいフレキシブル基板74Dに変更になった場合を説明する。
この例では、図20Dに示すように、センサーフィードバックが存在していないため、t7の時点以降は、図18Bの挿入方向の位置を含む位置及び姿勢情報で位置制御モードにて動作する。しかしながら、フレキシブル基板74Dが柔らかくなっているため、コネクタの奥まで届いた段階でフレキシブル基板74Dがたわみ、図19の(6)で位置を戻してもたわみが戻るだけで、奥まで当たった接触力が弱まらない。
これにより、挿入完了時にフレキシブル基板74Dに余分な負荷がかかり、フレキシブル基板74Dを傷める。そこで、挿入動作が途中で停止した場合には、次の順位の教示情報から抽出したセンサーフィードバック則を順位組換部64で適用する。この例では、センサーフィードバック則SB12を順位組換部64で適用する(図19の(4))。
このセンサーフィードバック則SB12は、フレキシブル基板74に対して、強めに力を検出した場合には力を緩めるような力制御を行う。このセンサーフィードバック則SB12により、フレキシブル基板74Dのたわみが戻り、さらに奥に当たる接触力が弱まるまで力制御を行うため、フレキシブル基板74Dに負荷をかけずに動作をすることが可能となる。
なお、この例では、熟練者と非熟練者との2つの教示情報を使って説明したが、3人以上の練度の異なる教示者の教示情報の場合にも同様に、順位決定部11で複数の教示情報の順位を決定し、最も順位の高い教示情報に基づき、高い順位から低い順位の順番にフィードバックを動作生成部13で適用していくことになる。
第1実施形態によれば、作業に不慣れな時点の教示情報と、教示作業に慣れて熟練した時点の情報とを組み合わせて動作を動作生成部13で生成することで、環境変動に柔軟な動作生成が可能となる。さらに、人16が直接ロボットアーム5を操作して教示できるため、人16にロボットの知識がなくても、人16は直感的に操作ができる。よって、人16が簡単にロボットアーム5の動作を教示することができる。
(第2実施形態)
本発明の第2実施形態について、第1実施形態の場合と同様に、図21に示すように、ロボットシステム1を使ってフレキシブル基板74をコネクタの挿入口75に挿入する作業を例に説明する。
本発明の第2実施形態について、第1実施形態の場合と同様に、図21に示すように、ロボットシステム1を使ってフレキシブル基板74をコネクタの挿入口75に挿入する作業を例に説明する。
本発明の第2実施形態における、ロボットアーム5の制御装置3及びロボットアーム5及び周辺装置47の基本的な構成は、第1実施形態の場合と同様であるので、共通部分の説明は省略し、異なる部分についてのみ、以下、詳細に説明する。
図21は、ロボットアーム5と、ロボットアーム5の制御装置3と、ロボットアーム5の動作情報を生成する動作生成装置2と、周辺装置47との詳細構成図である。
動作生成装置2の環境情報データベース18と、データベース入出力部10と、制御則抽出部20とは、第1実施形態の場合と同様であるので説明は省略する。
動作生成装置2において、異なる部分について以下に、詳細に説明する。
−教示情報データベース17B−
教示情報データベース17Bは、所定の時間におけるロボットアーム5の手先位置及び姿勢から構成されるロボットアーム5の動作を教示した情報(以下、教示情報と称す)と後述する区間目標値設定部9で設定された区間目標値の情報を格納する。
教示情報データベース17Bは、所定の時間におけるロボットアーム5の手先位置及び姿勢から構成されるロボットアーム5の動作を教示した情報(以下、教示情報と称す)と後述する区間目標値設定部9で設定された区間目標値の情報を格納する。
教示情報は、人16がロボットアーム5を操作して後述する動作生成部13で生成し、データベース入出力部10により入力され、教示情報データベース17Bに記憶される。
図22は、教示情報データベース17Bのデータである教示情報を示す。「作業ID」、「動作ID」、「位置姿勢」、「時間」、「ユーザID」、「日時」の欄は、第1実施形態の教示情報データベース17Aと同様であるので、説明を省略する。「区間目標値の有無」に関する情報は、後述する区間目標値設定部9で設定されたかどうかを示す。区間目標値として設定された時間である場合には、「1」を設定し、区間目標値として設定されていない場合には、「0」を設定する。「熟練度」は、後述する順位決定部11で算出された区間目標値毎の熟練度を記憶する。
−区間目標値設定部9−
区間目標値設定部9は、データベース入出力部10により教示情報と環境情報とを入力して、作業を構成する一連の時系列の教示情報のうち、その作業を複数に分割した区間のそれぞれの終了時点である区間目標値を設定する。
区間目標値設定部9で設定した区間目標値に関する情報は、区間目標値設定部9により、データベース入出力部10を介して、教示情報とともに教示情報データベース17Bに記憶する。
区間目標値設定部9は、データベース入出力部10により教示情報と環境情報とを入力して、作業を構成する一連の時系列の教示情報のうち、その作業を複数に分割した区間のそれぞれの終了時点である区間目標値を設定する。
区間目標値設定部9で設定した区間目標値に関する情報は、区間目標値設定部9により、データベース入出力部10を介して、教示情報とともに教示情報データベース17Bに記憶する。
具体的には、図23の(B)〜(F)に示すフレキシブル基板74の挿入作業において、1つ目の区間目標値(1)は、フレキシブル基板74が挿入口75に接触した時点t1で出力される。2つ目の区間目標値(2)は、フレキシブル基板74の先端がコネクタの挿入口75の奥に接触した時点t2で出力される。3つ目の区間目標値(3)は、フレキシブル基板74がコネクタの挿入口75の奥に接触して力を緩めた時点t3で出力され、挿入が完了した時点を表す。
各区間目標値は、第1実施形態の反応時間算出部15で説明したように、情報変化点tを環境情報の変位から区間目標値設定部9で算出し、この情報変化点tを区間目標値として区間目標値設定部9で設定する。
なお、この例では、環境情報から情報変化点を区間目標値設定部9で算出したが、人16がデータ入力IF26(例えば図2の操作盤26などボタンなど)により設定したい時点を区間目標値として区間目標値設定部9に指定しても良い。
−環境情報提示部14−
環境情報(知覚情報)提示部14は、人16がロボットアーム5を操作して、ロボットアーム5の動作を変更させるために使用した情報である環境情報を人に提示する際に、人16が作業を実行するために必要な環境情報の力と対象物の位置と音量とに関する情報のうち、作業を行うのに必要な環境情報のみを、力もしくは対象物の位置もしくは音量として、提示する。図24Aは、力と対象物の位置と音量との全ての情報を使って教示している状況を示す。図24Bは、力のみを使って教示している状況を示す。なお、具体的な環境情報データベース18は、第1実施形態の図11Aと同様であるので、説明を省略する。
環境情報(知覚情報)提示部14は、人16がロボットアーム5を操作して、ロボットアーム5の動作を変更させるために使用した情報である環境情報を人に提示する際に、人16が作業を実行するために必要な環境情報の力と対象物の位置と音量とに関する情報のうち、作業を行うのに必要な環境情報のみを、力もしくは対象物の位置もしくは音量として、提示する。図24Aは、力と対象物の位置と音量との全ての情報を使って教示している状況を示す。図24Bは、力のみを使って教示している状況を示す。なお、具体的な環境情報データベース18は、第1実施形態の図11Aと同様であるので、説明を省略する。
人16が直接ロボットアーム5を操作する例では、人16に目隠し又は耳栓などを装着することで、提示する情報を変更することが可能である。さらに、力に関しては、第1実施形態の制御部22で説明したインピーダンス制御時の機械インピーダンス設定値を変更することで、ロボットアーム5の操作時の操作感をより重たくなるように変更することで、フレキシブル基板に接触したときの力を人16に伝達しにくくする。
また、操作するロボットアームと動作するロボットアームを分離したマスタースレーブ装置の場合には、スレーブでの映像又は音量、力をマスターに伝達しないようにすることで提示する情報を限定することができる。
以上の方法により、人16がフレキシブル基板74の挿入の教示時に、教示が完了するのに必要な環境情報を環境情報提示部14で限定する。限定した種別の環境情報のみの情報を検出するのに必要な、各検出部(対象物力検出部77と対象物位置検出部78と音量検出部79)のみ環境情報を取得する。なお、環境情報提示部14で提示する情報は、教示全体に対して同じ種別の情報を提示するようにしても良いし、区間目標値設定部9で設定した区間目標値の区間毎に、環境情報提示部14で提示する情報を変えても良い。
−ばらつき度合算出部12−
ばらつき度合算出部12は、区間目標値設定部9で設定し、データベース入出力部10から入力された区間目標値までの区間毎にデータベース入出力部10で入力された教示情報と環境情報のばらつきの度合に関する情報であるばらつき度合を算出する。区間目標値設定部9で、図23に示す時点t1、t2、t3の区間目標値として設定した場合には、教示開始点から時点t1までの区間(区間1)と、時点t1から時点t2までの区間(区間2)と、時点t2から時点t3までの区間(区間3)とのそれぞれの区間について、ばらつき度合をばらつき度合算出部12で算出し、区間目標値の情報(時点t1、t2、t3など)とともにばらつき度合算出部12から動作生成部13へ出力する。各区間のばらつき度合は、第1実施形態のばらつき度合算出部12と同様の方法で算出する。
ばらつき度合算出部12は、区間目標値設定部9で設定し、データベース入出力部10から入力された区間目標値までの区間毎にデータベース入出力部10で入力された教示情報と環境情報のばらつきの度合に関する情報であるばらつき度合を算出する。区間目標値設定部9で、図23に示す時点t1、t2、t3の区間目標値として設定した場合には、教示開始点から時点t1までの区間(区間1)と、時点t1から時点t2までの区間(区間2)と、時点t2から時点t3までの区間(区間3)とのそれぞれの区間について、ばらつき度合をばらつき度合算出部12で算出し、区間目標値の情報(時点t1、t2、t3など)とともにばらつき度合算出部12から動作生成部13へ出力する。各区間のばらつき度合は、第1実施形態のばらつき度合算出部12と同様の方法で算出する。
−反応時間算出部15−
反応時間算出部15は、区間目標値設定部9で設定し、データベース入出力部10から入力された区間目標値までの区間毎に、人16がロボットアーム5を操作してロボットアーム5の動作情報を生成する際に、ロボットアーム5の周辺の環境情報を受けてから行動を起こすまでの反応時間を算出する。区間目標値設定部9で、図23に示す時点t1、t2、t3の区間目標値として設定した場合には、教示開始点から時点t1までの区間(区間1)と、時点t1から時点t2までの区間(区間2)と、時点t2から時点t3までの区間(区間3)とのそれぞれの区間について、反応時間を反応時間算出部15で算出する。反応時間算出部15で算出した反応時間は、区間目標値の情報(時点t1、t2、t3など)とともに、反応時間算出部15から動作生成部13へ出力する。各区間の反応時間は、第1実施形態の反応時間算出部15と同様の方法で算出する。
反応時間算出部15は、区間目標値設定部9で設定し、データベース入出力部10から入力された区間目標値までの区間毎に、人16がロボットアーム5を操作してロボットアーム5の動作情報を生成する際に、ロボットアーム5の周辺の環境情報を受けてから行動を起こすまでの反応時間を算出する。区間目標値設定部9で、図23に示す時点t1、t2、t3の区間目標値として設定した場合には、教示開始点から時点t1までの区間(区間1)と、時点t1から時点t2までの区間(区間2)と、時点t2から時点t3までの区間(区間3)とのそれぞれの区間について、反応時間を反応時間算出部15で算出する。反応時間算出部15で算出した反応時間は、区間目標値の情報(時点t1、t2、t3など)とともに、反応時間算出部15から動作生成部13へ出力する。各区間の反応時間は、第1実施形態の反応時間算出部15と同様の方法で算出する。
−順位決定部11−
順位決定部11は、後述する動作生成部13で生成されデータベース入出力部10を介して教示情報データベース17Bに記憶された不慣れな時点の情報と教示作業に慣れて熟練した時点の情報となどのように、経時的に複数の教示情報について、区間目標値設定部9で設定した区間目標値までの区間毎に、より熟練している順に各区間毎の教示情報の順位を決定する。順位決定部11で決定した順位は、区間目標値の情報(時点t1、t2、t3など)とともに、順位決定部11から動作生成部13へ出力する。ばらつき度合算出部12により各区間毎に算出したばらつき度合と、反応時間算出部15により各区間毎に算出した反応時間と、各区間毎に、環境情報データベース18の環境情報の力と対象物の位置と音量とに関する情報のうち、いくつの情報を使っているか使用環境情報数を、ばらつき度合算出部12でカウントする。反応時間とばらつき度合と使用環境情報数とにより、第1実施形態の順位決定部11と同様の方法で、熟練度Pを反応時間算出部15で算出し、順位決定部11で順位を決定する。反応時間算出部15で算出した熟練度Pは、反応時間算出部15により、教示情報の各区間目標値と対応させて、データベース入出力部10を介して、教示情報データベース17Bに記憶する。各区間毎に順位決定部11で決定した順位は、区間目標値の情報(時点t1、t2、t3など)とともに、順位決定部11から動作生成部13へ出力する。
順位決定部11は、後述する動作生成部13で生成されデータベース入出力部10を介して教示情報データベース17Bに記憶された不慣れな時点の情報と教示作業に慣れて熟練した時点の情報となどのように、経時的に複数の教示情報について、区間目標値設定部9で設定した区間目標値までの区間毎に、より熟練している順に各区間毎の教示情報の順位を決定する。順位決定部11で決定した順位は、区間目標値の情報(時点t1、t2、t3など)とともに、順位決定部11から動作生成部13へ出力する。ばらつき度合算出部12により各区間毎に算出したばらつき度合と、反応時間算出部15により各区間毎に算出した反応時間と、各区間毎に、環境情報データベース18の環境情報の力と対象物の位置と音量とに関する情報のうち、いくつの情報を使っているか使用環境情報数を、ばらつき度合算出部12でカウントする。反応時間とばらつき度合と使用環境情報数とにより、第1実施形態の順位決定部11と同様の方法で、熟練度Pを反応時間算出部15で算出し、順位決定部11で順位を決定する。反応時間算出部15で算出した熟練度Pは、反応時間算出部15により、教示情報の各区間目標値と対応させて、データベース入出力部10を介して、教示情報データベース17Bに記憶する。各区間毎に順位決定部11で決定した順位は、区間目標値の情報(時点t1、t2、t3など)とともに、順位決定部11から動作生成部13へ出力する。
−動作切替部23−
動作切替部23により教示モードに設定された場合、教示部61は、環境情報提示部14で設定された情報のみを人16に提示するよう環境情報提示部14へ指令を出す。さらに、環境情報提示部14で設定された情報のみを検出するように、制御部22を介して、対象物力検出部77と対象物位置検出部78と音量検出部79に指令を出す。次に、教示部61は、第1実施形態と同様にインピーダンス制御で動作するように制御部22へ指令を出す。次に、教示部61は第1実施形態と同様に、ある一定時間毎にロボットアーム5の手先位置及び姿勢の情報を制御部22から取得し、時間と共に、データベース入出力部10により、教示情報データベース17Bに記憶する。さらに、人16が教示をしているときの周辺の環境に関する情報である環境情報(力もしくは対象物の位置もしくは音量情報のいずれか1つ以上の情報)のうち、環境情報提示部14で設定された情報のみ取得し、教示情報と対にしてデータベース入出力部10により環境情報データベース18に記憶する。なお、教示を開始する時点及び終了する時点については、第1実施形態と同様であるので、説明を省略する。
動作切替部23により教示モードに設定された場合、教示部61は、環境情報提示部14で設定された情報のみを人16に提示するよう環境情報提示部14へ指令を出す。さらに、環境情報提示部14で設定された情報のみを検出するように、制御部22を介して、対象物力検出部77と対象物位置検出部78と音量検出部79に指令を出す。次に、教示部61は、第1実施形態と同様にインピーダンス制御で動作するように制御部22へ指令を出す。次に、教示部61は第1実施形態と同様に、ある一定時間毎にロボットアーム5の手先位置及び姿勢の情報を制御部22から取得し、時間と共に、データベース入出力部10により、教示情報データベース17Bに記憶する。さらに、人16が教示をしているときの周辺の環境に関する情報である環境情報(力もしくは対象物の位置もしくは音量情報のいずれか1つ以上の情報)のうち、環境情報提示部14で設定された情報のみ取得し、教示情報と対にしてデータベース入出力部10により環境情報データベース18に記憶する。なお、教示を開始する時点及び終了する時点については、第1実施形態と同様であるので、説明を省略する。
動作切替部23で再生モードが設定された場合には、再生部63は、区間目標値設定部9で設定された区間目標値までの区間毎に動作情報を生成して、制御部22へ出力する。区間目標値の各区間毎の動作の生成方法については、第1実施形態と同様であるため、説明を省略する。各区間毎に生成した動作のつなぎ目は動作が不連続になるため、多項式補間を使用し、つなぎ目の部分のみ軌道を目標軌道生成部55で補間する。
次に、人16がロボットアーム5を操作してロボットアーム5の動作を教示し、ロボットアーム5が自動で動作を再生する手順について、図25のフローチャートを使って説明する。
ここでは、第1実施例と同様、レコーダ、テレビ、又は、携帯電話などで使用されているフレキシブル基板74の挿入作業を例に説明する。
教示を開始する手順については、図26のフローチャートの手順で動作する。
まず、ステップS110において、第1実施形態のステップS100と同様の方法により、教示モードに切り替える。
次に、ステップS111において、動作生成部13の教示部61は、環境情報提示部14により提示する環境情報を設定するよう指令を環境情報提示部14に出す。図24Aは力と対象物の位置と音量の全ての情報を使うことでフレキシブル基板74の挿入作業が教示できる例を示し、図24Bは力のみを使って教示している例を示す。図24Aと図24Bはフレキシブル基板挿入の経験の違いから、図24Aは多くの情報を頼りに教示を行っているが、その作業に慣れてくると図24Bに示すように必要最小限の情報のみを使って教示ができるようになる。図24Aでは力と対象物の位置と音量との全ての情報を使って教示しているために、力と対象物の位置と音量との全てを検出するように、教示部61は、各検出部(対象物力検出部77と対象物位置検出部78と音量検出部79)に指令を出す。
次に、ステップS112において、教示部61は、制御部22により、人が加えた力でロボットアーム5を動作できるようインピーダンス制御モードに切り替えるように指令を制御部22に出す。
図3A〜図3D(図3E〜図3Hは上から見た図)は、人16がロボットアーム5を操作し、教示している手順を示す。人16は、図3A→図3B→図3C→図3Dの順にロボットアーム5を操作して教示を行う。
図24Aに示す状況は、力と対象物の位置と音量との全ての情報を使って教示している。この場合、ステップS113において、動作生成部13の教示部61は、タイマー60を使って、一定時間毎(例えば、4msec毎)に、制御部22から、人16が操作しているときのロボットアーム5の手先の位置姿勢と取得し、加えて、対象物力検出部78により、フレキシブル基板が挿入口75に接触した時の力を検出するよう指令を制御部22及び対象物力検出部78に出す。対象物位置検出部78は、対象物の位置情報を検出する。音量検出部79は、音量情報を検出する。教示部61は、タイマー60を使って、ある一定時間毎(例えば4msec毎)に前記検出した手先の位置姿勢と、時間情報と、力情報と、対象物の位置情報と、音量とを対応付けて生成し、データベース入出力10を介して、動作情報データベース17及び環境情報データベース18に記憶する。
教示が終了すると、ステップS114において、第1実施形態のステップS103と同様の方法により、待機モードに切り替え、さらに、ステップS115において、動作情報の生成を終了する。
ステップS116において、制御部22は、ロボットアーム5を停止するように、位置制御モードに切り替える。
図27Aと図27Bは、動作生成部13で生成した情報を示す。以降では、図27Aの動作を動作パターンAとし、図27Bの動作を動作パターンBとする。図27Aは、ロボットアーム5の位置及び力の時系列データと、対象物の位置と音量とに関する情報のうち、挿入の方向のみをプロットした図である。図27Bは、ロボットアーム5の位置及び力の時系列データのうち、挿入の方向のみをプロットした図である。
次に、図27A及び図27Bの教示情報及び環境情報に基づいて、ロボットアーム5が自動で動作するための動作生成の手順について図25を用いて説明する。
まず、ステップS200において、ロボット1による自動再生を開始する際には、第1実施形態と同様に、人16はデータ入力IF26から動作切替部23への入力(例えば図2の操作盤26の作業スタートボタン26cを押す)により、作業開始の命令を動作生成部13に入力する。動作生成部13は、動作切替部23からの入力(この例では再生モード)を受けて、動作生成部13の再生部62は、動作の再生を開始する。
次に、ステップS201において、再生部62の再生制御部63は、区間目標値設定部9により、教示時に取得した図27Aと図27Bのそれぞれの環境情報に基づいて区間目標値を設定するよう指令を区間目標値設定部9に出す。区間目標値設定部9で設定した区間目標値に関する情報は、データベース入出力部10を介して、教示情報とともに教示情報データベース17Bに記憶する。各区間目標値は、第1実施形態の反応時間算出15で説明したように、環境情報に基づいて情報変化点tを区間目標値設定部9で検出し、区間目標値設定部9で検出した情報変化点tを区間目標値として区間目標値設定部9で設定する。
以下、区間目標値設定部9の具体例について説明する。
図28Aと図28Bは、図27Aと図27Bと同様のグラフである。
図28Aの(1)〜(3)は、図28Aの力の情報に基づいて、第1実施形態の反応時間算出部15で説明した方法により検出した情報変化点を示す。
同様に、図28Bの(7)〜(9)は、図28Bの力の情報に基づいて、第1実施形態の反応時間算出部15で説明した方法により検出した情報変化点を示す。
図28Aの(4)と(5)は、図28Aの対象物の位置の情報より検出した情報変化点である。対象物の位置の場合も力の場合と同様に、対象物の位置の変位をばらつき度合算出部12で求め、ばらつき度合算出部12で求めた変位の符号が同じであり且つ絶対値が第1の閾値(情報変化点検出用閾値)以上(この例では0.5mm)である時点を情報変化点として区間目標値設定部9で検出する。
図28Aの(6)と(7)は、図28Aの音量の情報より検出した情報変化点である。音量の場合も力の場合と同様に、音量情報の変位をばらつき度合算出部12で求め、ばらつき度合算出部12で求めた変位の符号が同じであり且つ絶対値が第1の閾値以上(この例では5dB)である時点を情報変化点として区間目標値設定部9で検出する。図28Aのように、複数の環境情報で検出された情報変化点を全て区間目標値として区間目標値設定部9で設定する。
図28Aの動作パターンAでは、(1))と(4)と(6)は同じ時点を情報変化点と検出しており、(2)と(5)と(7)は同じ時点を情報変化点と検出しているので、それぞれで検出した時点t1、t2を区間目標値設定部9で区間目標値とする。(3)については、力情報のみから検出されている時点t3を区間目標値として区間目標値設定部9で設定する。
図28Bの動作パターンBについては、力情報から検出された時点t4、t5、t6を区間目標値として区間目標値設定部9で設定する。区間目標値設定部9で設定した区間目標値を、図29の(A)〜(E)のフレキシブル基板74の挿入状況とともに図29に示す。
区間目標値設定部9で設定した区間目標値は、それぞれの教示情報とともに、データベース入出力部10により教示情報データベース17Bに記憶する。
次に、ステップS202において、再生部62の再生制御部63は、ばらつき度合算出部12により、区間目標値設定部9で設定した区間目標値までの区間毎に、ばらつき度合を算出する。ばらつき度合算出部12で算出したばらつき度合は、ばらつき度合算出部12から動作生成部13へ出力する。
この例では、図28Aと図28Bに示した挿入方向の教示情報及び環境情報により、区間目標値設定部9で設定した時点t1〜時点t6毎に、ばらつき度合をばらつき度合算出部12で算出するよう指令を再生制御部63から、ばらつき度合算出部12に出す。
図28Aの教示開始時点〜時点t1までの区間(1)について、ばらつき度合をばらつき度合算出部12で算出する。
算出方法は第1実施形態と同様の方法で算出する。ばらつき度合算出部12における挿入方向の位置の第1の閾値を0.5(mm)、挿入方向の力の第2の閾値を0.5(N)、挿入方向の対象物の位置の第4の閾値(位置変位検出用閾値)を0.5(mm)、挿入方向の音量の第5の閾値(音量変位検出用閾値)を3(dB)とする。
教示開始時点〜時点t1未満までの区間(1)において、挿入方向のロボットアーム5の位置の変位をばらつき度合算出部12で求め、ばらつき度合算出部12で求めた変位の絶対値が第1の閾値以上である箇所を区間目標値設定部9でカウントする(ここでは、カウントした値をb111とする)。図30Aに、第1の閾値以上の箇所を(1)〜(6)に示す。ここでは、区間目標値設定部9で6箇所検出されたため、b111=6となる。次に、ばらつき度合算出部12で求めた変位の絶対値が第1の閾値以上である変位について、その変位の絶対値の合計を区間目標値設定部9で算出する(ここでは、その算出した値をh111とする)。(1)〜(6)のそれぞれの変位は、0.51、0.51、0.50、0.50、0.53、0.54であるため、それらの値の合計を区間目標値設定部9で算出すると、h111=3.09となる。
次に、挿入方向の力の変位をばらつき度合算出部12で求め、ばらつき度合算出部12で求めた変位の絶対値が第2の閾値以上である箇所をばらつき度合算出部12でカウントする(ここでは、そのカウントした値をb121とする)。さらに、ばらつき度合算出部12で求めた変位の絶対値が第2の閾値以上である箇所の変位の絶対値の合計をばらつき度合算出部12で算出する(ここでは、その算出した値をh121とする)。教示開始時点〜時点t1未満までの区間(1)において、図30Aに示すように第2の閾値以上である箇所はない。このため、b121=0、h121=0となる。
次に、挿入方向の対象物の位置の変位を区間目標値設定部9で求め、区間目標値設定部9で求めた変位の絶対値が第3の閾値以上である箇所を区間目標値設定部9でカウントする(ここでは、そのカウントした値をb131とする)。教示開始時点〜時点t1未満までの区間(1)において、図30Aに示すように、第3の閾値以上である箇所を(11)〜(14)に示す。ここでは、区間目標値設定部9で4箇所検出されたため、b131=6となる。次に、区間目標値設定部9で求めた変位の絶対値が第3の閾値以上である変位について、その変位の絶対値の合計を区間目標値設定部9で算出する(ここでは、その算出した値をh131とする)。(11)〜(14)のそれぞれの変位は、0.51、0.51、0.50、0.50であるため、それらの値の合計を区間目標値設定部9で算出すると、h131=2.02となる。
次に、挿入方向の音量の変位を区間目標値設定部9で求め、区間目標値設定部9で求めた変位の絶対値が第4の閾値以上である箇所を区間目標値設定部9でカウントする(ここでは、そのカウントした値をb141とする)。さらに、区間目標値設定部9で求めた変位の絶対値が第4の閾値以上である箇所の変位の絶対値の合計を区間目標値設定部9で算出する(ここでは、その算出した値をh141とする)。教示開始時点〜時点t1未満までの区間(1)において、図30Aに示すように第4の閾値以上である箇所はない。このため、b141=0、h141=0となる。
次に、教示開始時点〜時点t1未満までの区間(1)のばらつき度合B11は(c1×b111+c2×b121+c3×b131+c4×b141+c5×h111+c6×h121+c7×h131+c8×h141)の式により、ばらつき度合算出部12で算出して、B11=9.892となる。ただし、この例では、定数c1、c2、c5、c6を1.0、c3、c4、c7、c8は0.1とする。
時点t1以上時点t2未満の区間(2)についても、同様の方法でばらつき度合B12をばらつき度合算出部12で算出する。B12=2.0、時点t2以上時点t3未満の区間(3)のばらつき度合はB13=1.91となり、時点t3以上教示終了時点までの区間(4)のばらつき度合はB14=1.7となる。
次に、図30Bの教示開始時点〜時点t4までの区間(5)についてばらつき度合をばらつき度合算出部12で算出する。
算出方法は第1実施形態と同様の方法で算出する。ばらつき度合算出部12における挿入方向の位置の第1の閾値を0.5(mm)とし、挿入方向の力の第2の閾値を0.5(N)とする。
教示開始時点〜時点t4未満までの区間(5)において、挿入方向の位置の変位を区間目標値設定部9で求め、区間目標値設定部9で求めた変位の絶対値が第1の閾値以上である箇所を区間目標値設定部9でカウントする(ここでは、そのカウントした値をb211とする)。図30Aに、第1の閾値以上の箇所を(19)と(20)に示す。ここでは、区間目標値設定部9で2箇所検出されたため、b211=2となる。次に、区間目標値設定部9で求めた変位の絶対値が第1の閾値以上である変位について、その変位の絶対値の合計を区間目標値設定部9で算出する(ここでは、その算出した値をh211とする)。(19)と(20)のそれぞれの変位は、0.51、0.50であるため、それらの値の合計を区間目標値設定部9で算出すると、h211=1.01となる。
次に、挿入方向の力の変位を区間目標値設定部9で求め、区間目標値設定部9で求めた変位の絶対値が第2の閾値以上である箇所を区間目標値設定部9でカウントする(ここでは、そのカウントした値をb221とする)。さらに、区間目標値設定部9で求めた変位の絶対値が第2の閾値以上である箇所の変位の絶対値の合計を区間目標値設定部9で算出する(ここでは、その算出した値をh221とする)。教示開始時点〜時点t4未満までの区間(5)において、図30Aに示すように第2の閾値以上である箇所はない。このため、b221=0、h221=0となる。
次に、教示開始時点〜時点t4未満までの区間(5)のばらつき度合B21は(c1×b211+c2×b221+c5×h211+c6×h221)の式により、ばらつき度合算出部12で算出して、B21=3.01となる。ただし、この例では、定数c1、c2、c5、c6を1.0とする。
時点t4以上時点t5未満の区間(6)についても同様の方法でばらつき度合B22をばらつき度合算出部12で算出し、B22=3.5となる。時点t5以上時点t6未満の区間(7)のばらつき度合はB23=1.6となり、時点t3以上教示終了時点までの区間(4)のばらつき度合はB24=1.5となる。以上により算出したばらつき度合をそれぞれの区間毎に図31に示す。
次に、ステップS203において、再生部62の再生制御部63は、反応時間算出部15により、区間目標値設定部9で設定した区間目標値までの区間毎に反応時間を算出するよう指令を反応時間算出部15に出す。算出した反応時間は動作生成部13へ出力する。
この例では図28Aと図28Bに示した挿入方向の教示情報及び環境情報により、区間目標値設定部9で設定したt1〜t6毎に反応時間を算出する。
反応時間は、それぞれの環境情報毎に第1実施形態と同様に、情報変化点と行動変化点とをばらつき度合算出部12で求め、行動変化点の時刻から情報変化点の時刻を減じた値としても良いし、各環境情報の中で最も反応時間の短い環境情報のみで反応時間算出部15で算出しても良い。一般的には、人は、力覚、聴覚、視覚の順で反応時間が短くなると言われている。第2実施形態では、最も反応時間の短い力の情報のみから区間目標値までの区間毎の反応時間を反応時間算出部15で算出する例を説明する。
次に、教示時に取得した図32Aと図32Bの2つの教示情報及び環境情報を用いて、反応時間算出部15より反応時間を反応時間算出部15で算出する。図32A及び図32Bに示した挿入方向のみの位置と力との情報により、反応時間を反応時間算出部15で算出する。ここでは、一例として、反応時間算出部15の第1の閾値を0.5(N)とし、第2の閾値を0.2(N)とする。
具体的には、第1実施形態と同様に、挿入方向の力の変位を区間目標値設定部9で求め、区間目標値設定部9で求めた変位の符号が同じであり且つ絶対値が第1の閾値以上である時点を情報変化点として区間目標値設定部9で検出し、次に、情報変化点以降において、人16が行動を起こした時点である行動変化点を区間目標値設定部9で検出する。
図32Aの(1)と(3)が区間目標値設定部9で検出した情報変化点で、それに対応して(2)と(4)が行動変化点である。図中の反応時間T1(350msec)、T2(280msec)が検出した反応時間である。
次に、検出した反応時間が、区間目標値までのそれぞれの区間(この例では(1)〜(4)の区間)のどの区間で検出したかを反応時間算出部15で調べる。区間(1)は反応時間を検出しなかったので、この区間での反応時間は、反応時間算出部15で−1とする。区間(2)では反応時間T1を反応時間算出部15で検出し、区間(3)では反応時間T2を反応時間算出部15で検出し、区間(4)では反応時間を反応時間算出部15で検出しなかったため、反応時間算出部15で−1とする。
同様に、図32Bにおいても反応時間を反応時間算出部15で検出する。図32Bでは、反応時間T3(410msec)、T4(80msec)を反応時間算出部15で検出する。次に、反応時間算出部15で検出した反応時間が、区間目標値までのそれぞれの区間(この例では(5)〜(8)の区間)のどの区間で検出したかを反応時間算出部15で調べる。
区間(5)は反応時間を反応時間算出部15で検出しなかったので、この区間での反応時間は、反応時間算出部15で−1とする。区間(6)では反応時間T3を反応時間算出部15で検出し、区間(7)では反応時間T4を反応時間算出部15で検出し、区間(8)では反応時間を反応時間算出部15で検出しなかったため、反応時間算出部15で−1とする。以上により算出した反応時間をそれぞれの区間毎に図31に示す。
次に、ステップS204において、再生部62の再生制御部63は、順位決定部11で、図28Aと図28Bの各区間毎でどちらがより熟練度合の高い動作であるかの順位を決定するよう指令を順位決定部11に出す。
環境情報データベース18の環境情報の力と対象物の位置と音量とに関する情報のうち、いくつの情報を使っているか使用環境情報数Eとして、各区間毎に反応時間算出部15でカウントする。
この例では、図28Aはいずれの区間も力と対象物の位置と力と音を使用しているので、使用環境情報数E1=3となる。
図28Bはいずれの区間も力のみを使用しているので、使用環境情報数E2=1となる。以上により算出した使用環境情報数をそれぞれの区間毎に図31に示す。
次に、各区間毎に反応時間算出部15で算出した反応時間が複数ある場合は、全ての反応時間を反応時間算出部15で合算して、区間毎の総反応時間を反応時間算出部15で算出する。この例では、各区間で反応時間が複数存在しないので、合算はしない。
それぞれの区間毎の熟練度合は、第1実施形態と同様に、熟練度はP=1/(aE+bB+cT)で順位決定部11により算出する。ただし、a、b、cは定数であり、この例ではa=1、b=100、c=1とする。なお、各定数はあらかじめ決定しておく。
また、Eは各区間毎で求めた使用環境情報数であり、Bは各区間毎で求めたばらつき度合であり、Tは各区間毎の総反応時間である。また、反応時間が−1の場合、反応時間を0として順位決定部11で計算する。順位決定部11で算出した各区間毎の熟練度を図31に示す。
各区間毎に、値が大きい方がより熟練度の高い動作として順位決定部11で決定する。図31に示すように、区間(1)は図30Bが最も高い順位の動作であり、区間(2)は図30Aが最も高い順位の動作であり、区間(3)は図30Bが最も高い順位の動作であり、区間(4)は図30Bが最も高い順位の動作となる。
次に、ステップS205において、再生部62の再生制御部63は、制御則抽出部20により、センサーフィードバック則を抽出するよう指令を制御則抽出部20に出す。
センサーフィードバック則は、それぞれの環境情報毎に第1実施形態と同様に、情報変化点と行動変化点を求めて制御則抽出部20で算出しても良いし、各環境情報の中で最も反応時間の短い環境情報のみで制御則抽出部20で算出しても良い。
一般的には、人は、力覚、聴覚、視覚の順で反応時間が短くなると言われている。この第2実施形態では、最も反応時間の短い力の情報のみからセンサーフィードバック則を制御則抽出部20で抽出する例を説明する。
一般的には、人は、力覚、聴覚、視覚の順で反応時間が短くなると言われている。この第2実施形態では、最も反応時間の短い力の情報のみからセンサーフィードバック則を制御則抽出部20で抽出する例を説明する。
フィードバック則は、第1実施形態と同様、ステップS203のばらつき度合算出部12で検出した情報変化点と行動変化点に基づいて、制御則抽出部20で抽出する。
具体的には、図32Aにおいて、挿入方向の力の変位をばらつき度合算出部12で求め、ばらつき度合算出部12で求めた変位の符号が同じであり且つ絶対値が第1の閾値以上である時点を人16が感覚刺激を受けた情報変化点(1)をばらつき度合算出部12で検出する。
次に、時点t1以降において、人16が行動を起こした行動変化点(2)は、情報変化点(1)から以降の挿入方向の力の変位をばらつき度合算出部12で求め、変位の符号が同じであり且つ絶対値が第2の閾値以上の時点をばらつき度合算出部12で検出する。
続いて、(2)以降の情報変化点と行動変化点を同様の方法でばらつき度合算出部12で検出する。ばらつき度合算出部12で検出した情報変化点と行動変化点は、図32Aに示すように情報変化点(3)、行動変化点(4)としてばらつき度合算出部12で検出される。1つ目のフィードバック則SB11は、行動変化点(2)が検出された時点から次の情報変化点(3)の時点までの力の情報を制御則抽出部20により近似曲線で近似する。近似曲線は例えば最小二乗法を用いて算出する。2つ目のフィードバック則SB12は、行動変化点(4)が検出された時点から次の情報変化点までで制御則抽出部20により抽出するが、この例では行動変化点(4)以降の情報変化点はばらつき度合算出部12で検出されないため、行動変化点(4)から力の情報が終わるまでの時点までを制御則抽出部20により近似曲線で近似する。
同様に、図32Bにおいて、フィードバック則を制御則抽出部20で抽出する。1つ目のフィードバック則SB21は、行動変化点(6)が検出された時点から次の情報変化点(7)の時点までの力の情報を制御則抽出部20により近似曲線で近似する。近似曲線は例えば最小二乗法を用いて算出する。2つ目のフィードバック則SB22は、情報変化点(7)以降の行動変化点(8)を検出して制御則抽出部20で抽出するが、情報変化点(7)から行動変化点(8)までの反応時間T4=80msecが第3の閾値(この例では200msec)以下であるため、人16がセンサーフィードバックを行わず、予測で教示したと制御則抽出部20で判断し、第2のセンサーフィードバックの抽出は行わない。
次に、ステップS206において、動作生成部13の再生部62は、制御則抽出部20で抽出したセンサーフィードバック則と、順位決定部11で決定した順位とに基づき、区間目標値までの区間毎にロボットアーム5の動作を再生する。
この例では、力の情報を使ってフィードバック則を制御則抽出部20で抽出しているので、力のフィードバック則を使って説明する。
図33は動作生成部13で生成した動作の実行順序を示す。
各区間毎に、第1実施形態と同様の方法で動作を動作生成部13で生成する。
区間(1)では、力のセンサーフィードバック則を抽出していないため、順位決定部11で決定した順位のうち、最も順位の高い教示情報を、目標の位置及び姿勢情報に動作生成部13で設定する。この例では、区間(1)においては、動作パターンBの順位が高いため、目標軌道として、図28Bの動作パターンBの位置及び姿勢情報を動作生成部13で設定して(図33の(1))、位置制御モードで動作するように動作生成部13から制御部22へ出力する。この例では、図29の(A)に示すようにフレキシブル基板74が挿入口75に向かって、位置制御モードで挿入を開始する。よりばらつき度合の少ない動作パターンBの位置及び姿勢情報を使ってロボットアーム5を動作させるため、図28Aの動作パターンAの区間(1)の位置及び姿勢情報に比べて、位置の変動が少なく、フレキシブル基板74を挿入口75まで安定して移動することが可能となる。
ロボットアーム5の動作中は、第1実施形態と同様、ロボットアーム5の位置及び姿勢の情報を、制御部22を介して、動作生成部13へ入力する(図33の(10))。加えて、対象物(この例では、フレキシブル基板74)に加わる力を対象物力検出部78で計測して、対象物力検出部78から動作生成部13に入力する(図33の(9))。
次に、図29の(B)のように、フレキシブル基板74が挿入口75に接触する。接触した時点から区間(2)となる。
区間(2)では、最も順位の高い教示情報が図28Aの動作パターンAの教示情報であるため、制御モード(この例では位置制御モード)は動作生成部13で変更せず、位置及び姿勢情報を動作パターンBの目標軌道から動作パターンAの目標軌道で動作するように動作生成部13から制御部22へ出力する(図33の(2))。
次いで、ステップS207において、動作パターンBの目標軌道から動作パターンAの目標軌道に切り替える際には、急に動作が切り替わらないよう目標軌道生成部55により多項式補間などで補間する。
次に、順位組換部64は、フレキシブル基板74が挿入口75に接触した時点で制御則抽出部20で抽出されたセンサーフィードバック則が存在している場合は、その適用を行う。順位組換部64で適用するセンサーフィードバック則は、区間(2)中の順位決定部11で決定した、最も順位の高い順の教示情報から取得したセンサーフィードバック則を順位組換部64で適用し、うまく動作しないと判断部65で判断された場合には次の順位の教示情報から取得したセンサーフィードバック則を順位組換部64で適用する。うまく動作していると判断部65で判断された場合には、順位組換部64は、順位の低い教示情報及び環境情報から制御則抽出部20で抽出されたフィードバック則の適用を行わない。
この例では、より熟練した動作である図32Aの行動変化点(2)以降から制御則抽出部20で抽出したセンサーフィードバック則SB11を順位組換部64で適用し(図33の(3))、うまく動作しないと判断部65で判断した場合は、非熟練動作である図32Bの行動変化点(6)以降から制御則抽出部20で抽出したフィードバック則SB21(図33の(4))を、第1実施形態と同様の方法で、順位組換部64から制御部22へ出力する。なお、うまく挿入できているかどうかの判断部65での判断は、第1実施形態と同様の方法で行う。
次に、図29の(D)のように、フレキシブル基板74がコネクタ75の奥に接触する。接触した時点から区間(3)となる。
区間(3)では、最も順位の高い教示情報が図28Bの教示情報であるため、制御モード(この例では位置制御モード)は動作生成部13で変更せず、位置及び姿勢情報を、図28Aの目標軌道から図28Bの目標軌道で動作するように動作生成部13から制御部22へ出力する(図33の(5))。
図28Aの目標軌道から図28Bの目標軌道に切り替える際には、急に動作が切り替わらないよう目標軌道生成部55で多項式補間などで補間する。
次に、フレキシブル基板74がコネクタの挿入口75の奥に接触した時点で制御則抽出部20で抽出されたセンサーフィードバック則が存在している場合は、その適用を順位組換部64で行う。順位組換部64で適用するセンサーフィードバック則は、区間(3)中の順位決定部11で決定した、最も順位の高い順の教示情報から取得したセンサーフィードバック則を順位組換部64で適用し、うまく動作しないと判断部65で判断された場合には、次の順位の教示情報から取得したセンサーフィードバック則を順位組換部64で適用する。
この例では、より熟練した動作である図32Bの情報変化点(7)で制御則抽出部20で抽出したセンサーフィードバック則を順位組換部64で適用するが、この例ではT4=80msecが第3の閾値(この例では200msec)以下であるため、人16がセンサーフィードバックを行わず、予測で教示したと制御則抽出部20で判断し、センサーフィードバックの抽出は制御則抽出部20で行っていない。
そこで、行動変化点である図32B(8)時点以降は、図32Bの挿入方向の位置を含む位置及び姿勢情報で位置制御モードにて動作するように、動作生成部13から制御部22へ出力する(図33の(6))。この例では、フレキシブル基板74がコネクタの挿入口75の奥まで接触した時点で少し手前に戻す動作となる。人16は、より熟練してくるとセンサーフィードバックを行わず、予測を働かせて動作させているが、その軌道は変動の少ないため、安定して動作する。
次に、第1実施形態と同様に、フレキシブル基板74のモデルチェンジなどにより、うまく動作しないと判断部65で判断された場合には、次の順位の教示情報から制御則抽出部20で抽出したセンサーフィードバック則を順位組換部64で適用する。この例では、センサーフィードバック則SB12を順位組換部64で適用する(図33の(7))。このセンサーフィードバック則SB12は、フレキシブル基板74に対して、強めに力を検出した場合には、力を緩めるような力制御を行う。
最後に、区間(4)については、センサーフィードバック則を抽出していない区間であるため、最も順位の高い教示情報が、図28Bの教示情報を制御モードで動作させる(図33の(8))。
以上により、区間目標値で設定した各区間毎に目標軌道を切り替えながら動作を再生することで、環境変動に柔軟な動作を実現することが可能となる。
なお、教示モードが設定された時に、制御部22ではインピーダンス制御で動作させることにより、人16が加えた力に基づいてロボットアーム5を移動させたが、ロボットアーム5をサーボオフとしてロボットアーム5を操作して移動させても良い。
さらに、作業全体について、順位決定部11で決定した順位又は熟練度Pを例えば作業台7に設置された表示部に提示しても良い。これにより、操作した人16が自分の熟練度又は順位を確認することができるようになる。
また、区間目標値設定部9で設定した区間目標値までの区間毎に熟練度Pを表示することで、作業の一部についての熟練度を確認することが可能となる。
また、教示した人毎に算出した熟練度を記憶する記憶部を備えることで、次に人が教示操作を行い際に、直前の熟練度合に応じて、制御部22の機械インピーダンス設定値を変更しても良い。具体的には、非熟練者に対しては粘性D及び剛性Kが大きくなるように設定することで、ロボットアーム5の動きに抵抗感又は硬さが生じ動きにくくなる。逆に、熟練者に対しては、粘性D及び剛性Kが小さくなるように設定することで、ロボットアーム5の動きに抵抗感又は硬さが生じにくくなり動きやすくなる。
以上により、熟練度合に応じてロボットアーム5の操作感を変えることで、非熟練者に対しては安全に操作をすることができるようになり、熟練者に対しては、機敏に操作をすることができるようになる。加えて、区間目標値設定部9で設定した区間目標値までの区間の熟練度に応じて、機械インピーダンス設定値を変えることも可能である。
第2実施形態によれば、区間目標値までの区間毎に作業に不慣れな時点の教示情報と、教示作業に慣れて熟練した時点の情報とを組み合わせて動作を動作生成部13で生成することで、環境変動に柔軟な動作生成が可能となる。さらに、人16が直接ロボットアーム5を操作して教示できるため、ロボットの知識がなくても、人16は直感的に操作ができる。よって、人16が簡単にロボットアーム5の動作を教示することができる。
なお、本発明を第1〜第2実施形態及び変形例に基づいて説明してきたが、本発明は、前記の第1〜第2実施形態及び変形例に限定されないのはもちろんである。以下のような場合も本発明に含まれる。
前記各制御装置の一部又は全部は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記RAM又はハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、各部は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
前記各制御装置の一部又は全部は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記RAM又はハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、各部は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
例えば、ハードディスク又は半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。なお、前記実施形態又は変形例における制御装置を構成する要素の一部又は全部を実現するソフトウェアは、以下のようなプログラムである。
つまり、このプログラムは、ロボットアームの動作を制御するロボットアームの制御プログラムであって、
コンピュータに、
人が前記ロボットアームを操作して動作の教示を行うときの、時系列の複数の教示情報を第1情報取得部で取得するステップと、
前記ロボットアームの教示時における、(i)反応時間情報と(ii)ばらつき情報とを第2情報取得部で取得するステップと、
前記時系列の教示情報は、前記ロボットアームの位置、姿勢、及び、速度の少なくとも1つ以上で構成され、前記反応時間情報は、前記ロボットアームで行う作業対象の対象物に前記ロボットアームから加えられる力情報と、前記ロボットアームで行う作業対象の対象物の位置情報と、周辺環境の音情報とのうち、少なくとも1つの情報である知覚情報を前記人が受けてから、前記人が前記ロボットアームの操作をするまでの時間情報であり、前記ばらつき情報は、時系列における前記教示情報もしくは時系列における前記知覚情報のいずれか1つ以上の情報との時系列におけるばらつき度合に関する情報であり、前記第2情報取得部で取得した前記反応時間情報と前記ばらつき情報とに基づいて、前記第1情報取得部で取得した前記複数の教示情報の順位を順位決定部で決定するステップと、
前記複数の教示情報と前記順位とに基づいて、前記ロボットアームの前記動作の情報である動作情報を動作生成部で生成するステップと、
前記動作生成部で生成された動作情報に基づいて、前記ロボットアームの前記動作を制御するステップとを実行させるための、ロボットアームの制御プログラムである。
コンピュータに、
人が前記ロボットアームを操作して動作の教示を行うときの、時系列の複数の教示情報を第1情報取得部で取得するステップと、
前記ロボットアームの教示時における、(i)反応時間情報と(ii)ばらつき情報とを第2情報取得部で取得するステップと、
前記時系列の教示情報は、前記ロボットアームの位置、姿勢、及び、速度の少なくとも1つ以上で構成され、前記反応時間情報は、前記ロボットアームで行う作業対象の対象物に前記ロボットアームから加えられる力情報と、前記ロボットアームで行う作業対象の対象物の位置情報と、周辺環境の音情報とのうち、少なくとも1つの情報である知覚情報を前記人が受けてから、前記人が前記ロボットアームの操作をするまでの時間情報であり、前記ばらつき情報は、時系列における前記教示情報もしくは時系列における前記知覚情報のいずれか1つ以上の情報との時系列におけるばらつき度合に関する情報であり、前記第2情報取得部で取得した前記反応時間情報と前記ばらつき情報とに基づいて、前記第1情報取得部で取得した前記複数の教示情報の順位を順位決定部で決定するステップと、
前記複数の教示情報と前記順位とに基づいて、前記ロボットアームの前記動作の情報である動作情報を動作生成部で生成するステップと、
前記動作生成部で生成された動作情報に基づいて、前記ロボットアームの前記動作を制御するステップとを実行させるための、ロボットアームの制御プログラムである。
また、このプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体(例えば、CD−ROMなどの光ディスク、磁気ディスク、又は、半導体メモリなど)に記録されたプログラムが読み出されることによって実行されてもよい。
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
なお、上記様々な実施形態又は変型例のうちの任意の実施形態又は変型例を適宜組み合わせることにより、それぞれの有する効果を奏するようにすることができる。
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
なお、上記様々な実施形態又は変型例のうちの任意の実施形態又は変型例を適宜組み合わせることにより、それぞれの有する効果を奏するようにすることができる。
本発明は、家庭用ロボットなど環境変動に適応しながら作業を行う際のロボットアームの動作の制御を行なうロボットアームの制御装置及び制御方法、ロボットアームの制御装置を有するロボット、ロボットアームの制御プログラム、並びに、集積電子回路として有用である。また、家庭用ロボットに限らず、産業用ロボット、又は、生産設備等における可動機構のロボットアームの制御装置及び制御方法、ロボットアームの制御装置を有するロボット、ロボットアームの制御プログラム、並びに、集積電子回路としても適用が可能である。
本発明は、添付図面を参照しながら実施形態に関連して充分に記載されているが、この技術の熟練した人々にとっては種々の変形又は修正は明白である。そのような変形又は修正は、添付した請求の範囲による本発明の範囲から外れない限りにおいて、その中に含まれると理解されるべきである。
本発明は、添付図面を参照しながら実施形態に関連して充分に記載されているが、この技術の熟練した人々にとっては種々の変形又は修正は明白である。そのような変形又は修正は、添付した請求の範囲による本発明の範囲から外れない限りにおいて、その中に含まれると理解されるべきである。
Claims (17)
- ロボットアームの動作を制御するロボットアームの制御装置であって、
人が前記ロボットアームを操作して動作の教示を行うときの、時系列の複数の教示情報を取得する第1情報取得部と、
前記ロボットアームの教示時における、(i)反応時間情報と(ii)ばらつき情報とを取得する第2情報取得部と、
前記第2情報取得部で取得した前記反応時間情報と前記ばらつき情報とに基づいて、前記第1情報取得部で取得した前記複数の教示情報の順位を決定する順位決定部と、
前記複数の教示情報と前記順位とに基づいて、前記ロボットアームの前記動作の情報である動作情報を生成する動作生成部とを備え、
前記時系列の教示情報は、前記ロボットアームの位置、姿勢、及び、速度の少なくとも1つ以上で構成され、
前記反応時間情報は、前記ロボットアームで行う作業対象の対象物に前記ロボットアームから加えられる力情報と、前記ロボットアームで行う作業対象の対象物の位置情報と、周辺環境の音情報とのうち、少なくとも1つの情報である知覚情報を前記人が受けてから、前記人が前記ロボットアームの操作をするまでの時間情報であり、
前記ばらつき情報は、時系列における前記教示情報もしくは時系列における前記知覚情報のいずれか1つ以上の情報との時系列におけるばらつき度合に関する情報であり、
前記動作生成部で生成された動作情報に基づいて、前記ロボットアームの前記動作を制御するロボットアームの制御装置。 - 前記知覚情報は前記第2情報取得部で取得し、
前記ばらつき度合とは、前記ロボットアームの位置もしくは姿勢の教示情報、又は、前記第2情報取得部で取得した、前記力情報もしくは前記対象物の位置情報もしくは前記音情報の知覚情報について、それぞれの方向別に時系列における変動の度合である、請求項1に記載のロボットアームの制御装置。 - 前記知覚情報は前記第2情報取得部で取得し、
前記第1情報取得部で取得した前記教示情報と前記第2情報取得部で取得した前記知覚情報とのばらつきの度合に関する情報である、時系列における、ばらつき度合を算出するばらつき度合算出部をさらに備え、
前記ばらつき度合算出部で算出した前記ばらつき度合を、前記ばらつき情報として前記第2情報取得部で取得する、請求項1又は2に記載のロボットアームの制御装置。 - 前記知覚情報は前記第2情報取得部で取得し、
前記第2情報取得部で取得される情報のうち、前記人が前記ロボットアームを操作する際に、前記操作を完了するために必要な最低限の情報のみを、力もしくは対象物の位置もしくは音量として、提示する知覚情報提示部をさらに備え、
前記第2情報取得部で取得される情報のうち、前記知覚情報は前記知覚情報提示部で提示された知覚情報と同じ種類の情報である請求項1又は2に記載のロボットアームの制御装置。 - 前記知覚情報は前記第2情報取得部で取得し、
前記順位決定部は、前記複数の教示情報のうち、より少ない前記知覚情報を使用している教示情報ほど、高い順位として決定する請求項1又は2に記載のロボットアームの制御装置。 - 前記順位決定部は、前記複数の教示情報のうち、より短い反応時間情報に基づく教示情報ほど、高い順位として決定する請求項1又は2に記載のロボットアームの制御装置。
- 前記知覚情報は前記第2情報取得部で取得し、
それぞれの知覚情報毎に反応時間を合算して、総反応時間情報を算出する反応時間算出部をさらに備え、
前記順位決定部は、前記複数の教示情報のうち、前記反応時間算出部で算出された総反応時間情報がより大きい教示情報ほど、高い順位として決定する請求項1又は2に記載のロボットアームの制御装置。 - 前記順位決定部は、前記複数の教示情報のうち、より前記ばらつき度合が小さい教示情報ほど、高い順位として決定する請求項1又は2に記載のロボットアームの制御装置。
- 前記動作生成部で生成された前記動作情報で正常に前記ロボットアームが動作しているかどうかを判断する判断部をさらに備え、
前記動作情報で正常に動作していないと前記判断部で判断した場合は、前記動作生成部は、前記教示情報とは異なる教示情報に基づいて、前記ロボットアームの前記動作の情報である動作情報を生成する、請求項1又は2に記載のロボットアームの制御装置。 - 前記動作生成部は、前記複数の教示情報のうち、最も高い順位の教示情報に基づいて、前記ロボットアームの前記動作の情報である動作情報を生成し、
前記動作情報で正常に動作していないと前記判断部で判断した場合は、前記動作生成部は、次に順位の高い教示情報に基づいて、前記ロボットアームの前記動作の情報である動作情報を生成する、請求項9に記載のロボットアームの制御装置。 - 前記動作生成部は、前記順位に基づいて修正すべき動作情報を決定し、
前記動作情報に基づいて、前記動作を制御するための情報である制御則情報を抽出する制御則抽出部と、
前記動作情報で正常に動作していないと前記判断部で判断した場合は、前記制御則を、次に順位の高い制御則と組み換える順位組換部とをさらに備え、
前記動作生成部は、前記順位組換部で組み換えた前記制御則で、前記動作情報を修正して前記動作情報を生成する、請求項9に記載のロボットアームの制御装置。 - 前記順位決定部は、反応時間情報とばらつき情報とにそれぞれ重み付けして、前記複数の教示情報の順位を決定する、請求項9に記載のロボットアームの制御装置。
- 前記動作情報を複数に分割した区間のそれぞれの終了時点である区間目標値を複数設定する区間目標値設定部をさらに備え、
前記順位決定部は、前記区間目標値設定部で設定した前記それぞれの区間目標値までの区間の前記教示情報の前記順位を決定し、
前記動作生成部は、前記区間毎に最も高い順位の前記教示情報を基に動作情報を生成する請求項1又は2に記載のロボットアームの制御装置。 - 前記ロボットアームと、
前記ロボットアームを制御する請求項1〜13のいずれか1つに記載のロボットアームの制御装置を有するロボット。 - ロボットアームの動作を制御するロボットアームの制御方法であって、
人が前記ロボットアームを操作して動作の教示を行うときの、時系列の複数の教示情報を第1情報取得部で取得し、
前記ロボットアームの教示時における、(i)反応時間情報と(ii)ばらつき情報とを第2情報取得部で取得し、
前記時系列の教示情報は、前記ロボットアームの位置、姿勢、及び、速度の少なくとも1つ以上で構成され、前記反応時間情報は、前記ロボットアームで行う作業対象の対象物に前記ロボットアームから加えられる力情報と、前記ロボットアームで行う作業対象の対象物の位置情報と、周辺環境の音情報とのうち、少なくとも1つの情報である知覚情報を前記人が受けてから、前記人が前記ロボットアームの操作をするまでの時間情報であり、前記ばらつき情報は、時系列における前記教示情報もしくは時系列における前記知覚情報のいずれか1つ以上の情報との時系列におけるばらつき度合に関する情報であり、前記第2情報取得部で取得した前記反応時間情報と前記ばらつき情報とに基づいて、前記第1情報取得部で取得した前記複数の教示情報の順位を順位決定部で決定し、
前記複数の教示情報と前記順位とに基づいて、前記ロボットアームの前記動作の情報である動作情報を動作生成部で生成し、
前記動作生成部で生成された動作情報に基づいて、前記ロボットアームの前記動作を制御する、ロボットアームの制御方法。 - ロボットアームの動作を制御するロボットアームの制御プログラムであって、
コンピュータに、
人が前記ロボットアームを操作して動作の教示を行うときの、時系列の複数の教示情報を第1情報取得部で取得するステップと、
前記ロボットアームの教示時における、(i)反応時間情報と(ii)ばらつき情報とを第2情報取得部で取得するステップと、
前記時系列の教示情報は、前記ロボットアームの位置、姿勢、及び、速度の少なくとも1つ以上で構成され、前記反応時間情報は、前記ロボットアームで行う作業対象の対象物に前記ロボットアームから加えられる力情報と、前記ロボットアームで行う作業対象の対象物の位置情報と、周辺環境の音情報とのうち、少なくとも1つの情報である知覚情報を前記人が受けてから、前記人が前記ロボットアームの操作をするまでの時間情報であり、前記ばらつき情報は、時系列における前記教示情報もしくは時系列における前記知覚情報のいずれか1つ以上の情報との時系列におけるばらつき度合に関する情報であり、前記第2情報取得部で取得した前記反応時間情報と前記ばらつき情報とに基づいて、前記第1情報取得部で取得した前記複数の教示情報の順位を順位決定部で決定するステップと、
前記複数の教示情報と前記順位とに基づいて、前記ロボットアームの前記動作の情報である動作情報を動作生成部で生成するステップと、
前記動作生成部で生成された動作情報に基づいて、前記ロボットアームの前記動作を制御するステップとを実行させるための、ロボットアームの制御プログラム。 - ロボットアームの動作を制御するロボットアームの集積電子回路であって、
人が前記ロボットアームを操作して動作の教示を行うときの、時系列の複数の教示情報を取得する第1情報取得部と、
前記ロボットアームの教示時における、(i)反応時間情報と(ii)ばらつき情報とを取得する第2情報取得部と、
前記第2情報取得部で取得した前記反応時間情報と前記ばらつき情報とに基づいて、前記第1情報取得部で取得した前記複数の教示情報の順位を決定する順位決定部と、
前記複数の教示情報と前記順位とに基づいて、前記ロボットアームの前記動作の情報である動作情報を生成する動作生成部とを備え、
前記時系列の教示情報は、前記ロボットアームの位置、姿勢、及び、速度の少なくとも1つ以上で構成され、
前記反応時間情報は、前記ロボットアームで行う作業対象の対象物に前記ロボットアームから加えられる力情報と、前記ロボットアームで行う作業対象の対象物の位置情報と、周辺環境の音情報とのうち、少なくとも1つの情報である知覚情報を前記人が受けてから、前記人が前記ロボットアームの操作をするまでの時間情報であり、
前記ばらつき情報は、時系列における前記教示情報もしくは時系列における前記知覚情報のいずれか1つ以上の情報との時系列におけるばらつき度合に関する情報であり、
前記動作生成部で生成された動作情報に基づいて、前記ロボットアームの前記動作を制御するロボットアームの集積電子回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013532412A JP5512048B2 (ja) | 2011-09-06 | 2012-08-02 | ロボットアームの制御装置及び制御方法、ロボット、制御プログラム、並びに、集積電子回路 |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011193882 | 2011-09-06 | ||
JP2011193882 | 2011-09-06 | ||
PCT/JP2012/004927 WO2013035244A1 (ja) | 2011-09-06 | 2012-08-02 | ロボットアームの制御装置及び制御方法、ロボット、制御プログラム、並びに、集積電子回路 |
JP2013532412A JP5512048B2 (ja) | 2011-09-06 | 2012-08-02 | ロボットアームの制御装置及び制御方法、ロボット、制御プログラム、並びに、集積電子回路 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP5512048B2 true JP5512048B2 (ja) | 2014-06-04 |
JPWO2013035244A1 JPWO2013035244A1 (ja) | 2015-03-23 |
Family
ID=47831722
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013532412A Active JP5512048B2 (ja) | 2011-09-06 | 2012-08-02 | ロボットアームの制御装置及び制御方法、ロボット、制御プログラム、並びに、集積電子回路 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9114530B2 (ja) |
JP (1) | JP5512048B2 (ja) |
WO (1) | WO2013035244A1 (ja) |
Families Citing this family (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9906838B2 (en) | 2010-07-12 | 2018-02-27 | Time Warner Cable Enterprises Llc | Apparatus and methods for content delivery and message exchange across multiple content delivery networks |
JP6410023B2 (ja) * | 2013-09-06 | 2018-10-24 | パナソニックIpマネジメント株式会社 | マスタスレーブロボットの制御装置及び制御方法、ロボット、マスタスレーブロボットの制御プログラム、並びに、マスタスレーブロボットの制御用集積電子回路 |
CN108621156B (zh) * | 2013-10-10 | 2021-08-03 | 精工爱普生株式会社 | 机器人控制装置、机器人系统、机器人以及机器人控制方法 |
US9630317B2 (en) * | 2014-04-03 | 2017-04-25 | Brain Corporation | Learning apparatus and methods for control of robotic devices via spoofing |
US9613308B2 (en) | 2014-04-03 | 2017-04-04 | Brain Corporation | Spoofing remote control apparatus and methods |
JP6169049B2 (ja) * | 2014-06-19 | 2017-07-26 | オリンパス株式会社 | マニピュレータの制御方法、マニピュレータ、およびマニピュレータシステム |
KR101661599B1 (ko) * | 2014-08-20 | 2016-10-04 | 한국과학기술연구원 | 하드웨어 한계를 고려하는 동작 데이터의 압축 및 복원을 이용한 로봇 동작 데이터 처리 시스템 |
US9821470B2 (en) | 2014-09-17 | 2017-11-21 | Brain Corporation | Apparatus and methods for context determination using real time sensor data |
US9849588B2 (en) | 2014-09-17 | 2017-12-26 | Brain Corporation | Apparatus and methods for remotely controlling robotic devices |
US9860077B2 (en) | 2014-09-17 | 2018-01-02 | Brain Corporation | Home animation apparatus and methods |
US9579790B2 (en) | 2014-09-17 | 2017-02-28 | Brain Corporation | Apparatus and methods for removal of learned behaviors in robots |
US9592608B1 (en) * | 2014-12-15 | 2017-03-14 | X Development Llc | Methods and systems for providing feedback during teach mode |
JP6630042B2 (ja) * | 2014-12-26 | 2020-01-15 | 川崎重工業株式会社 | 双腕ロボットの教示システム及び双腕ロボットの教示方法 |
US20160206179A1 (en) * | 2015-01-15 | 2016-07-21 | National Taiwan University | Assistive robot endoscopic system with intuitive maneuverability for laparoscopic surgery and method thereof |
JP6582483B2 (ja) * | 2015-03-26 | 2019-10-02 | セイコーエプソン株式会社 | ロボット制御装置およびロボットシステム |
WO2017033361A1 (ja) * | 2015-08-25 | 2017-03-02 | 川崎重工業株式会社 | ロボットシステム及びその運転方法 |
DE102015012959B4 (de) * | 2015-10-08 | 2019-01-17 | Franka Emika Gmbh | Robotersystem und Verfahren zur Steuerung eines Robotersystems |
FR3044115B1 (fr) * | 2015-11-25 | 2017-11-24 | Commissariat Energie Atomique | Procede de programmation d’un effort a exercer par un robot |
US9919422B1 (en) | 2016-01-06 | 2018-03-20 | X Development Llc | Methods and systems to provide mechanical feedback during movement of a robotic system |
WO2017127202A1 (en) * | 2016-01-20 | 2017-07-27 | Intuitive Surgical Operations, Inc. | System and method for rapid halt and recovery of motion deviations in medical device repositionable arms |
US10295972B2 (en) | 2016-04-29 | 2019-05-21 | Brain Corporation | Systems and methods to operate controllable devices with gestures and/or noises |
US10427305B2 (en) * | 2016-07-21 | 2019-10-01 | Autodesk, Inc. | Robotic camera control via motion capture |
JP6741538B2 (ja) * | 2016-09-28 | 2020-08-19 | 川崎重工業株式会社 | ロボット、ロボットの制御装置、及び、ロボットの位置教示方法 |
GB2557179B (en) * | 2016-11-29 | 2020-01-01 | Rolls Royce Plc | Methods, apparatus, computer programs and non-transitory computer readable storage mediums for controlling a hyper redundant manipulator |
DE102017118981B4 (de) * | 2017-04-23 | 2018-12-20 | Franka Emika Gmbh | Vorrichtung und Verfahren zum Einstecken einer Steckkarte in eine Steckkupplung |
JP6476358B1 (ja) * | 2017-05-17 | 2019-02-27 | Telexistence株式会社 | 制御装置、ロボット制御方法及びロボット制御システム |
JP6506348B2 (ja) * | 2017-06-14 | 2019-04-24 | ファナック株式会社 | ロボットの軌道を修正するロボットの教示装置 |
JP2020526262A (ja) * | 2017-06-30 | 2020-08-31 | イグザクテック・インコーポレイテッド | 膝蓋骨キットおよびその使用方法 |
CN110869174B (zh) | 2017-07-10 | 2023-12-05 | 海别得公司 | 用于生成材料处理机器人工具路径的计算机实现的方法和系统 |
CN108187310B (zh) * | 2017-12-21 | 2019-05-31 | 东南大学 | 基于力觉信息和姿态信息的肢体运动意图理解与上肢康复训练机器人及其控制方法 |
US11872698B2 (en) * | 2018-02-13 | 2024-01-16 | Canon Kabushiki Kaisha | Controller of robot and control method |
JP6965785B2 (ja) * | 2018-02-15 | 2021-11-10 | オムロン株式会社 | 制御システム、スレーブ装置制御部、制御方法およびプログラム |
EP3782768A4 (en) * | 2018-04-15 | 2022-01-05 | University of Tsukuba | BEHAVIOR ESTIMATION DEVICE, BEHAVIOR ESTIMATION PROCESS AND BEHAVIOR ESTIMATION PROGRAM |
CN108621145A (zh) * | 2018-05-23 | 2018-10-09 | 广东水利电力职业技术学院(广东省水利电力技工学校) | 一种机器人的运动控制系统及控制方法、计算机程序 |
JP7172277B2 (ja) * | 2018-08-21 | 2022-11-16 | セイコーエプソン株式会社 | 制御装置及びロボットシステム |
JP7287048B2 (ja) * | 2019-03-27 | 2023-06-06 | セイコーエプソン株式会社 | ロボット |
KR102236415B1 (ko) * | 2019-05-21 | 2021-04-06 | 로체 시스템즈(주) | 벤딩 로봇 |
CN111113456B (zh) * | 2019-12-24 | 2023-06-27 | 兰州空间技术物理研究所 | 一种空间机械臂在轨操作平台及系统 |
JP2022131206A (ja) * | 2021-02-26 | 2022-09-07 | 川崎重工業株式会社 | 情報処理装置、学習装置、情報処理システム及びロボットシステム |
IT202100024899A1 (it) * | 2021-09-29 | 2023-03-29 | Gaiotto Automation S P A | Metodo per il controllo in autoapprendimento di un sistema robotizzato chiuso e relativo impianto di lavorazione |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003081598A (ja) * | 2001-09-14 | 2003-03-19 | Toyoda Mach Works Ltd | パワーアシスト装置 |
JP2003275975A (ja) * | 2002-03-22 | 2003-09-30 | Ricoh Co Ltd | マスタスレーブ情報伝達システムおよび方法 |
JP4759660B2 (ja) * | 2009-08-21 | 2011-08-31 | パナソニック株式会社 | ロボットアーム制御用の装置、方法、プログラム及び集積電子回路、並びに、組立ロボット |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59157715A (ja) | 1983-02-25 | 1984-09-07 | Hitachi Ltd | ロボツトの直接教示方法 |
US5046022A (en) * | 1988-03-10 | 1991-09-03 | The Regents Of The University Of Michigan | Tele-autonomous system and method employing time/position synchrony/desynchrony |
JP2669274B2 (ja) | 1992-07-06 | 1997-10-27 | 三菱電機株式会社 | ロボットの制御装置 |
JP3231478B2 (ja) | 1993-05-28 | 2001-11-19 | 株式会社日立製作所 | ロボットの教示装置 |
JPH08300280A (ja) * | 1995-05-09 | 1996-11-19 | Fanuc Ltd | ロボットの動作制御方式 |
JPH1177569A (ja) * | 1997-09-10 | 1999-03-23 | Honda Motor Co Ltd | オフラインティーチング装置 |
US6292712B1 (en) * | 1998-01-29 | 2001-09-18 | Northrop Grumman Corporation | Computer interface system for a robotic system |
US6347261B1 (en) * | 1999-08-04 | 2002-02-12 | Yamaha Hatsudoki Kabushiki Kaisha | User-machine interface system for enhanced interaction |
US6430472B1 (en) * | 1999-12-20 | 2002-08-06 | Servo-Robot Inc. | Robot feature tracking devices and methods |
EP1386472A4 (en) * | 2001-02-27 | 2009-05-27 | Anthrotronix Inc | ROBOTIC APPARATUS AND WIRELESS TELECOMMUNICATIONS SYSTEM |
JP4739556B2 (ja) * | 2001-03-27 | 2011-08-03 | 株式会社安川電機 | 制御対象の遠隔調整及び異常判断装置 |
JP4100545B2 (ja) | 2002-03-25 | 2008-06-11 | 本田技研工業株式会社 | 技能評価方法 |
JP4682217B2 (ja) * | 2007-03-07 | 2011-05-11 | パナソニック株式会社 | 行動制御装置、方法、プログラム |
US8909370B2 (en) * | 2007-05-08 | 2014-12-09 | Massachusetts Institute Of Technology | Interactive systems employing robotic companions |
AT10676U1 (de) * | 2008-07-21 | 2009-08-15 | Keba Ag | Verfahren zum betreiben eines mobilen handbediengerätes für die abgabe oder freischaltung von potentiell gefahrbringenden steuerkommandos sowie entsprechendes handbediengerät |
WO2010045968A1 (en) * | 2008-10-21 | 2010-04-29 | Abb Technology Ab | A robot system with a teach pendant |
JP5583282B2 (ja) * | 2011-08-24 | 2014-09-03 | パナソニック株式会社 | ロボットアームの制御装置及び制御方法、ロボット、ロボットアームの制御プログラム、並びに、集積電子回路 |
-
2012
- 2012-08-02 WO PCT/JP2012/004927 patent/WO2013035244A1/ja active Application Filing
- 2012-08-02 JP JP2013532412A patent/JP5512048B2/ja active Active
-
2013
- 2013-07-26 US US13/951,828 patent/US9114530B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003081598A (ja) * | 2001-09-14 | 2003-03-19 | Toyoda Mach Works Ltd | パワーアシスト装置 |
JP2003275975A (ja) * | 2002-03-22 | 2003-09-30 | Ricoh Co Ltd | マスタスレーブ情報伝達システムおよび方法 |
JP4759660B2 (ja) * | 2009-08-21 | 2011-08-31 | パナソニック株式会社 | ロボットアーム制御用の装置、方法、プログラム及び集積電子回路、並びに、組立ロボット |
Non-Patent Citations (2)
Title |
---|
CSNG200900339015; 田中 健太 Kenta Tanaka: '人間の直接教示動作の統計的性質に基づいた折り紙ロボットの目標軌道とセンサフィードバック則生成法 Desi' 日本ロボット学会誌 第27巻 第6号 Journal of the Robotics Society of Japan 第27巻, 社団法人日本ロボット学会 The Robotics Society of * |
JPN6014007510; 田中 健太 Kenta Tanaka: '人間の直接教示動作の統計的性質に基づいた折り紙ロボットの目標軌道とセンサフィードバック則生成法 Desi' 日本ロボット学会誌 第27巻 第6号 Journal of the Robotics Society of Japan 第27巻, 社団法人日本ロボット学会 The Robotics Society of * |
Also Published As
Publication number | Publication date |
---|---|
WO2013035244A1 (ja) | 2013-03-14 |
US9114530B2 (en) | 2015-08-25 |
US20130310977A1 (en) | 2013-11-21 |
JPWO2013035244A1 (ja) | 2015-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5512048B2 (ja) | ロボットアームの制御装置及び制御方法、ロボット、制御プログラム、並びに、集積電子回路 | |
JP4568795B2 (ja) | ロボットアームの制御装置及び制御方法、ロボット、ロボットアームの制御プログラム、並びに、集積電子回路 | |
US9387589B2 (en) | Visual debugging of robotic tasks | |
JP4759660B2 (ja) | ロボットアーム制御用の装置、方法、プログラム及び集積電子回路、並びに、組立ロボット | |
US9393687B2 (en) | Method for programming an industrial robot and industrial robot | |
JP5032716B2 (ja) | マスタースレーブロボットの制御装置及び制御方法、並びに、制御プログラム | |
JP6678832B2 (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 | |
EP2224303B1 (en) | Robot with automatic selection of task-specific representations for imitation learning | |
JP4584354B2 (ja) | ロボットアームの制御装置及び制御方法、ロボット、ロボットアームの制御プログラム、並びに、集積電子回路 | |
CN109849025B (zh) | 振动抑制装置 | |
JP2007015037A (ja) | ロボットのモーション編集装置及びモーション編集方法、コンピュータ・プログラム、並びにロボット装置 | |
JP5583282B2 (ja) | ロボットアームの制御装置及び制御方法、ロボット、ロボットアームの制御プログラム、並びに、集積電子回路 | |
CN110709211B (zh) | 机器人系统和机器人系统的控制方法 | |
JP6625266B1 (ja) | ロボット制御装置 | |
JP2013043250A (ja) | ロボットアームの制御装置及び制御方法、ロボット、制御プログラム、並びに、集積電子回路 | |
JP2013111684A (ja) | ロボットアームの制御装置及び制御方法、ロボット、ロボットアームの制御プログラム、並びに、ロボットアームの制御用集積電子回路 | |
KR101474778B1 (ko) | 다관절 로봇의 동작인식을 통한 제어장치 및 그 방법 | |
JP7185749B2 (ja) | ロボットシステム及びロボットシステムの制御方法 | |
JP7327991B2 (ja) | 制御方法、制御プログラム、記録媒体、ロボットシステム、物品の製造方法および入力装置 | |
Rozo et al. | Robot learning from demonstration in the force domain | |
Sylari | Hand-Gesture Based Programming of Industrial Robot Manipulators | |
CN112757273A (zh) | 一种机械臂轨迹编辑可视化方法、系统、装置及存储介质 | |
JP2023090642A (ja) | ロボット装置、ロボット装置の制御方法、プログラム、記録媒体、ロボット装置の教示方法、物品の製造方法 | |
JP2024061621A (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: 20140225 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140325 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5512048 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |