JP2013158887A - 教示装置、ロボット、ロボット装置、教示方法 - Google Patents

教示装置、ロボット、ロボット装置、教示方法 Download PDF

Info

Publication number
JP2013158887A
JP2013158887A JP2012023817A JP2012023817A JP2013158887A JP 2013158887 A JP2013158887 A JP 2013158887A JP 2012023817 A JP2012023817 A JP 2012023817A JP 2012023817 A JP2012023817 A JP 2012023817A JP 2013158887 A JP2013158887 A JP 2013158887A
Authority
JP
Japan
Prior art keywords
robot
library
instruction group
unit
teaching
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2012023817A
Other languages
English (en)
Inventor
Makoto Ouchi
真 大内
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2012023817A priority Critical patent/JP2013158887A/ja
Publication of JP2013158887A publication Critical patent/JP2013158887A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Manipulator (AREA)

Abstract

【課題】従来の教示プログラムの構築方法では、教示にかかる作業の効率化を図ることが困難である。
【解決手段】ロボット3の動作を規定する複数の動作命令が保存されたライブラリー41と、ロボット3に実施させる作業を、前記作業の流れに沿ってライブラリー41から選択された複数の前記動作命令の配列によって規定する教示プログラムを保存する教示プログラム記憶部45と、ライブラリー41を更新するライブラリー更新部と、を含み、前記ライブラリー更新部は、前記教示プログラムによって規定される前記作業において、連続して並ぶ複数の前記動作命令を1つの命令群として、前記作業における前記命令群の発生頻度に応じて、前記命令群をライブラリー41に追加する、ことを特徴とする教示装置。
【選択図】図2

Description

本発明は、教示装置、ロボット、ロボット装置、教示方法等に関する。
従来から、教示された動作に従って動作するロボットが知られている。教示された動作を規定するプログラム(以下、教示プログラムと呼ぶ)を構築する方法としては、従来、記憶装置に記録されている複数の動作命令を種々に組み合わせることによって1つの教示プログラムを構築する方法が知られている(例えば、特許文献1参照)。
特開2009−181526号公報
上記従来の教示プログラムの構築方法では、1つの教示プログラムを構成する複数の動作命令を動作命令ごとに1つずつ教示プログラムに登録することによって、1つの教示プログラムが構築される。教示プログラムの構築の過程において、動作命令を教示プログラムに登録する際には、動作命令ごとに、記憶装置に記録されている複数の動作命令の中から該当する動作命令を読み出して、読み出した動作命令を教示プログラムに登録する作業が行われる。
つまり、従来の教示プログラムの構築方法では、登録すべき動作命令ごとに、動作命令を1つずつ記憶装置から読み出す必要があるので、教示にかかる作業の効率化を図ることが困難であるという課題がある。
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態又は適用例として実現され得る。
[適用例1]ロボットの動作を規定する複数の動作命令がライブラリーとして保存された命令保存部と、前記ロボットに実施させる作業を、前記作業の流れに沿って前記ライブラリーから選択された複数の前記動作命令の配列によって規定する教示プログラムを保存する教示プログラム保存部と、前記ライブラリーを更新するライブラリー更新部と、を含み、前記ライブラリー更新部は、前記教示プログラムによって規定される前記作業において、連続して並ぶ複数の前記動作命令を1つの命令群として、前記作業における前記命令群の発生頻度に応じて、前記命令群を前記ライブラリーに追加する、ことを特徴とする教示装置。
この適用例の教示装置は、ロボットに実施させる作業を規定する教示プログラムを保存する教示プログラム保存部を有している。教示プログラムは、ロボットの動作を規定する複数の動作命令の配列によって、ロボットに実施させる作業を規定する。つまり、ロボットに実施させる作業は、複数の動作の集合として規定される。複数の動作命令は、ライブラリーとして命令保存部に保存されている。教示プログラムでは、ロボットに実施させる作業の流れに沿ってライブラリーから選択された複数の動作命令が配列している。
この教示装置では、ライブラリー更新部によってライブラリーが更新される。ライブラリー更新部は、ロボットに実施させる作業における命令群の発生頻度に応じて、命令群をライブラリーに追加する。ここで、教示プログラムによって規定される作業において、連続して並ぶ複数の動作命令が1つの命令群である。この教示装置では、ライブラリーの更新によって、発生頻度に応じて命令群がライブラリーに追加されるので、ライブラリーに追加された命令群を新たな教示プログラムの構築に供することができる。これにより、新たな教示プログラムを構築するときに、ライブラリーに登録されている命令群を選択することができる。このため、命令群を構成する複数の動作命令のそれぞれを個別にライブラリーから選択する手間を簡略化することができる。この結果、教示にかかる作業を効率化しやすくすることができる。
[適用例2]上記の教示装置であって、前記ロボットの前記作業における前記動作の履歴を記録する履歴記録部と、前記履歴記録部に記録された前記履歴から前記命令群の前記発生頻度を算出する頻度算出部と、を含み、前記ライブラリー更新部は、前記頻度算出部によって算出された前記発生頻度に基づいて、前記命令群を前記ライブラリーに追加する、ことを特徴とする教示装置。
この適用例では、ロボットの作業における動作の履歴から算出した発生頻度に基づいて、命令群をライブラリーに追加するので、命令群の使用頻度に応じて命令群をライブラリーに追加することができる。
[適用例3]上記の教示装置であって、前記履歴記録部に記録された前記履歴から、複数の前記動作のうちで前記ロボットが失敗した前記動作を失敗動作として検出する失敗動作検出部を含み、前記頻度算出部は、検出された前記失敗動作に対応する前記動作命令が含まれる前記命令群を、前記発生頻度の算出から除外する、ことを特徴とする教示装置。
この適用例では、履歴から検出された失敗動作に対応する動作命令が含まれる命令群を発生頻度の算出から除外するので、ロボットの作業における動作の失敗を軽減できる教示プログラムを構築することができる。
[適用例4]ワークを把持するハンドと、前記ハンドを変位させるアームと、前記ハンド及び前記アームの駆動を制御する制御部と、前記ハンド及び前記アームのそれぞれの動作を規定する複数の動作命令がライブラリーとして保存された命令保存部と、前記ハンド及び前記アームに実施させる作業を、前記作業の流れに沿って前記ライブラリーから選択された複数の前記動作命令の配列によって規定する教示プログラムを保存する教示プログラム保存部と、前記ライブラリーを更新するライブラリー更新部と、を含み、前記ライブラリー更新部は、前記教示プログラムによって規定される前記作業において、連続して並ぶ複数の前記動作命令を1つの命令群として、前記作業における前記命令群の発生頻度に応じて、前記命令群を前記ライブラリーに追加する、ことを特徴とするロボット。
この適用例のロボットは、ハンド及びアームに実施させる作業を規定する教示プログラムを保存する教示プログラム保存部を有している。教示プログラムは、ハンド及びアームのそれぞれの動作を規定する複数の動作命令の配列によって、ハンド及びアームに実施させる作業を規定する。つまり、ハンド及びアームに実施させる作業は、複数の動作の集合として規定される。複数の動作命令は、ライブラリーとして命令保存部に保存されている。教示プログラムでは、ハンド及びアームに実施させる作業の流れに沿ってライブラリーから選択された複数の動作命令が配列している。
このロボットでは、ライブラリー更新部によってライブラリーが更新される。ライブラリー更新部は、ハンド及びアームに実施させる作業における命令群の発生頻度に応じて、命令群をライブラリーに追加する。ここで、教示プログラムによって規定される作業において、連続して並ぶ複数の動作命令が1つの命令群である。このロボットでは、ライブラリーの更新によって、発生頻度に応じて命令群がライブラリーに追加されるので、ライブラリーに追加された命令群を新たな教示プログラムの構築に供することができる。これにより、新たな教示プログラムを構築するときに、ライブラリーに登録されている命令群を選択することができる。このため、命令群を構成する複数の動作命令のそれぞれを個別にライブラリーから選択する手間を簡略化することができる。この結果、教示にかかる作業を効率化しやすくすることができる。
[適用例5]上記のロボットであって、前記作業における前記ハンド及び前記アームのそれぞれの前記動作の履歴を記録する履歴記録部と、前記履歴記録部に記録された前記履歴から前記命令群の前記発生頻度を算出する頻度算出部と、を含み、前記ライブラリー更新部は、前記頻度算出部によって算出された前記発生頻度に基づいて、前記命令群を前記ライブラリーに追加する、ことを特徴とするロボット。
この適用例では、作業におけるハンド及びアームのそれぞれの動作の履歴から算出した発生頻度に基づいて、命令群をライブラリーに追加するので、命令群の使用頻度に応じて命令群をライブラリーに追加することができる。
[適用例6]上記のロボットであって、前記履歴記録部に記録された前記履歴から、複数の前記動作のうちで前記ハンド及び前記アームの少なくとも一方が失敗した前記動作を失敗動作として検出する失敗動作検出部を含み、前記頻度算出部は、検出された前記失敗動作に対応する前記動作命令が含まれる前記命令群を、前記発生頻度の算出から除外する、ことを特徴とするロボット。
この適用例では、履歴から検出された失敗動作に対応する動作命令が含まれる命令群を発生頻度の算出から除外するので、ハンド及びアームの作業における動作の失敗を軽減できる教示プログラムを構築することができる。
[適用例7]ワークを把持するハンドと、前記ハンドを変位させるアームと、前記ハンド及び前記アームの駆動を制御する制御部と、を有するロボットと、前記ロボットの動作を規定する複数の動作命令がライブラリーとして保存された命令保存部と、前記ロボットに実施させる作業を、前記作業の流れに沿って前記ライブラリーから選択された複数の前記動作命令の配列によって規定する教示プログラムを保存する教示プログラム保存部と、前記ライブラリーを更新するライブラリー更新部と、を含み、前記ライブラリー更新部は、前記教示プログラムによって規定される前記作業において、連続して並ぶ複数の前記動作命令を1つの命令群として、前記作業における前記命令群の発生頻度に応じて、前記命令群を前記ライブラリーに追加する、ことを特徴とするロボット装置。
この適用例のロボット装置は、ロボットに実施させる作業を規定する教示プログラムを保存する教示プログラム保存部を有している。教示プログラムは、ロボットの動作を規定する複数の動作命令の配列によって、ロボットに実施させる作業を規定する。つまり、ロボットに実施させる作業は、複数の動作の集合として規定される。複数の動作命令は、ライブラリーとして命令保存部に保存されている。教示プログラムでは、ロボットに実施させる作業の流れに沿ってライブラリーから選択された複数の動作命令が配列している。
このロボット装置では、ライブラリー更新部によってライブラリーが更新される。ライブラリー更新部は、ロボットに実施させる作業における命令群の発生頻度に応じて、命令群をライブラリーに追加する。ここで、教示プログラムによって規定される作業において、連続して並ぶ複数の動作命令が1つの命令群である。このロボット装置では、ライブラリーの更新によって、発生頻度に応じて命令群がライブラリーに追加されるので、ライブラリーに追加された命令群を新たな教示プログラムの構築に供することができる。これにより、新たな教示プログラムを構築するときに、ライブラリーに登録されている命令群を選択することができる。このため、命令群を構成する複数の動作命令のそれぞれを個別にライブラリーから選択する手間を簡略化することができる。この結果、教示にかかる作業を効率化しやすくすることができる。
[適用例8]上記のロボット装置であって、前記ロボットの前記作業における前記動作の履歴を記録する履歴記録部と、前記履歴記録部に記録された前記履歴から前記命令群の前記発生頻度を算出する頻度算出部と、を含み、前記ライブラリー更新部は、前記頻度算出部によって算出された前記発生頻度に基づいて、前記命令群を前記ライブラリーに追加する、ことを特徴とするロボット装置。
この適用例では、ロボットの作業における動作の履歴から算出した発生頻度に基づいて、命令群をライブラリーに追加するので、命令群の使用頻度に応じて命令群をライブラリーに追加することができる。
[適用例9]上記のロボット装置であって、前記履歴記録部に記録された前記履歴から、複数の前記動作のうちで前記ロボットが失敗した前記動作を失敗動作として検出する失敗動作検出部を含み、前記頻度算出部は、検出された前記失敗動作に対応する前記動作命令が含まれる前記命令群を、前記発生頻度の算出から除外する、ことを特徴とするロボット装置。
この適用例では、履歴から検出された失敗動作に対応する動作命令が含まれる命令群を発生頻度の算出から除外するので、ロボットの作業における動作の失敗を軽減できる教示プログラムを構築することができる。
[適用例10]ロボットの動作を規定する複数の動作命令が保存されたライブラリーから選択した複数の前記動作命令を、前記ロボットに実施させる作業の流れに沿って配列することによって、前記ロボットに実施させる前記作業を規定する教示プログラムを作成するステップと、前記教示プログラムによって規定される前記作業において、連続して並ぶ複数の前記動作命令を1つの命令群として、前記作業における前記命令群の発生頻度を算出するステップと、前記作業における前記命令群の前記発生頻度に応じて、前記命令群を前記ライブラリーに追加するステップと、を含む、ことを特徴とする教示方法。
この適用例の教示方法は、ロボットに実施させる作業を規定する教示プログラムを作成するステップを含む。教示プログラムは、ロボットの動作を規定する複数の動作命令の配列によって、ロボットに実施させる作業を規定する。つまり、ロボットに実施させる作業は、複数の動作の集合として規定される。複数の動作命令は、ライブラリーとして保存されている。教示プログラムを作成するステップでは、ライブラリーから選択した複数の動作命令を、ロボットに実施させる作業の流れに沿って配列することによって教示プログラムを作成する。
この教示方法は、ロボットに実施させる作業における命令群の発生頻度に応じて、命令群をライブラリーに追加するステップを含む。ここで、教示プログラムによって規定される作業において、連続して並ぶ複数の動作命令が1つの命令群である。この教示方法では、発生頻度に応じて命令群をライブラリーに追加するので、ライブラリーに追加した命令群を新たな教示プログラムの構築に供することができる。これにより、新たな教示プログラムを構築するときに、ライブラリーに登録されている命令群を選択することができる。このため、命令群を構成する複数の動作命令のそれぞれを個別にライブラリーから選択する手間を簡略化することができる。この結果、教示にかかる作業を効率化しやすくすることができる。
[適用例11]上記の教示方法であって、前記発生頻度を算出するステップでは、前記ロボットの前記動作の履歴から前記命令群の前記発生頻度を算出する、ことを特徴とする教示方法。
この適用例では、ロボットの作業における動作の履歴から算出した発生頻度に基づいて、命令群をライブラリーに追加するので、命令群の使用頻度に応じて命令群をライブラリーに追加することができる。
[適用例12]上記の教示方法であって、前記履歴から、複数の前記動作のうちで前記ロボットが失敗した前記動作を失敗動作として検出するステップを含み、前記発生頻度を算出するステップでは、検出された前記失敗動作に対応する前記動作命令が含まれる前記命令群を、前記発生頻度の算出から除外する、ことを特徴とする教示方法。
この適用例では、履歴から検出された失敗動作に対応する動作命令が含まれる命令群を発生頻度の算出から除外するので、ロボットの作業における動作の失敗を軽減することができる。
本実施形態におけるロボット装置の概略の構成を示す図。 本実施形態におけるロボット装置の概略の構成を示すブロック図。 本実施形態におけるワークの搬送の作業の流れを説明する図。 本実施形態におけるワークの搬送の作業の流れを説明する図。 本実施形態におけるワークの搬送の作業の流れを説明する図。 本実施形態における実行処理の流れを説明する図。 本実施形態における更新処理の流れを説明する図。 本実施形態における命令群の追加処理の流れを説明する図。 本実施形態におけるロボットの他の構成例を示す図。 本実施形態におけるロボットの他の構成例を示すブロック図。
図面を参照しながら、実施形態について説明する。
本実施形態におけるロボット装置1は、図1に示すように、ロボット3と、ロボット制御装置5と、を有している。なお、本実施形態では、ロボット制御装置5に、入力装置7と、表示装置9と、が接続されている。ロボット3とロボット制御装置5とは、無線や有線で互いに通信する。ロボット3は、ロボット制御装置5からの指令に基づいて動作する。
ロボット3は、第1アーム11と、第1ハンド12と、第2アーム13と、第2ハンド14と、制御部15と、を有している。第1アーム11及び第2アーム13は、それぞれ、腕部17と、関節部18と、を有している。また、ロボット3は、第1アーム11、第1ハンド12、第2アーム13、及び第2ハンド14のそれぞれを駆動するための動力を発生する種々の動力源や、動力源からの動力を伝達する動力伝達機構などを有している。
制御部15は、第1アーム11、第1ハンド12、第2アーム13、及び第2ハンド14のそれぞれの駆動を個別に制御する。
ロボット3は、第1アーム11、第1ハンド12、第2アーム13、及び第2ハンド14のそれぞれの姿勢や位置を変化させることができる。また、ロボット3は、第1ハンド12及び第2ハンド14のそれぞれでワークWを把持したり、把持したワークWを移動させたり、把持したワークWを放したりすることができる。このような姿勢や位置の変化、ワークWの把持、ワークWの移動、把持の解除などの動作は、ロボット制御装置5からの指令に基づいて行われる。
なお、以下において、第1アーム11及び第1ハンド12の組み合わせを第1アーム装置19aと呼び、第2アーム13及び第2ハンド14の組み合わせを第2アーム装置19bと呼ぶ。
ロボット制御装置5は、概略の構成を示すブロック図である図2に示すように、制御部21と、メモリー部23と、データベース25と、インターフェイス部27と、を有している。メモリー部23、データベース25及びインターフェイス部27は、バス29を介して制御部21に接続されている。
制御部21は、CPU(Central Processing Unit)などを含んだ構成を有しており、ロボット3の駆動を制御したり、各種の演算処理を実施する。
メモリー部23は、RAM(Random Access Memory)や、ROM(Read Only Memory)などを含んでいる。メモリー部23には、各種のデータを一時的に展開する領域であるデータ展開部31が設定されている。データ展開部31に展開されるデータとしては、例えば、ワークWの搬送にかかる搬送処理等のプログラムデータなどが挙げられる。
データベース25は、ライブラリー41と、オブジェクトデータ記憶部43と、教示プログラム記憶部45と、履歴情報記憶部47と、を含む。
ライブラリー41には、ロボット3の動作を規定する種々の動作命令が保存されている。
オブジェクトデータ記憶部43には、後述する種々のオブジェクトデータが保存される。
教示プログラム記憶部45には、ロボット3に実行させる作業を規定する教示プログラムが保存される。
履歴情報記憶部47には、ロボット3が実施した動作の履歴や、ロボット3が実施した動作の結果などが、履歴情報として時系列的に保存される。
インターフェイス部27は、ロボット制御装置5と外部機器との間の通信を仲介する。
ロボット3の制御部15、入力装置7、及び表示装置9は、それぞれ、インターフェイス部27とバス29とを介して制御部21に接続されている。
ここで、教示プログラムについて説明する。ここでは、図3に示すように、第1アーム装置19aでワークWを、位置P1から位置P2へ搬送する作業(以下、作業1と呼ぶ)を例に、説明する。教示プログラムの説明に先立ち、第1アーム装置19aによる作業の流れを説明する。
この作業1では、まず、図3(a)に示すように、第1アーム装置19aの第1ハンド12を、ワークWの初期位置である位置P1に移動させる。この「移動」という動作が、ロボット3に実施させる1番目の動作である。
次いで、図3(b)に示すように、第1ハンド12にワークWを把持させる。この「把持」という動作が、ロボット3に実施させる2番目の動作である。
次いで、図3(c)に示すように、第1ハンド12を位置P2に移動させる。この「移動」という動作が、ロボット3に実施させる3番目の動作である。
次いで、図3(d)に示すように、第1ハンド12にワークWの把持を解除させる。この「把持の解除」という動作が、ロボット3に実施させる4番目の動作である。
このように、作業1は、上記の1番目〜4番目までの4つの動作で構成される。
本実施形態では、ロボット3に対して「移動」という動作を規定する動作命令は、「Move to」と表記される。また、ロボット3に対して「把持」という動作を規定する動作命令は、「Grasp」と表記される。ロボット3に対して「把持の解除」という動作を規定する動作命令は、「Release」と表記される。なお、「Move to」、「Grasp」、「Release」などの動作命令は、図2に示すライブラリー41に保存されている。
そして、教示プログラムは、作業の流れに沿って動作命令を並べた構成を有している。上記の作業1を規定する教示プログラム(以下、プログラムpgm1と呼ぶでは、表1に示すように、動作の順に、「Move to」、「Grasp」、「Move to」、「Release」という4つの動作命令が並んでいる。
Figure 2013158887
上記の表1において、動作順序は、1番目〜4番目までの順序を示している。
また、動作対象は、第1アーム装置19a及び第2アーム装置19bのいずれかを指示するデータである。「Arm0」というのは、動作対象として第1アーム装置19aを指示する。他方で、動作対象として第2アーム装置19bを指示する場合、動作対象として「Arm1」が記述される。
オブジェクトデータ番号は、図2に示すオブジェクトデータ記憶部43に保存されている種々のオブジェクトデータのそれぞれに付与されている番号を指定するものである。ここで、オブジェクトデータは、表2に示すように、ワークWに関する情報であるワーク情報や、位置に関する情報である位置情報などを示すデータである。
ワーク情報には、ワークWの大きさや、重量、形状などを示す属性データと、ワークWの初期位置を示す位置データとが、含まれている。
位置情報は、第1ハンド12や第2ハンド14の位置を指示する位置データである。
Figure 2013158887
プログラムpgm1(表1)のオブジェクトデータ番号に番号を指定すると、指定された番号のオブジェクトデータが、オブジェクトデータ記憶部43から参照される。
プログラムpgm1では、1番目の動作(動作1)として、「Arm0」に対して「Move to」という動作命令が指定されている。このとき、動作の目標としてオブジェクトデータ1が参照される。オブジェクトデータ1には、ワークWの初期位置(位置P1)を示す位置データが含まれている。このため、プログラムpgm1における動作1では、第1アーム装置19aの第1ハンド12を、位置P1に移動させることを指示することができる。
次いで、プログラムpgm1の2番目の動作(動作2)として、「Arm0」に対して「Grasp」という動作命令が指定されている。このとき、動作の目標としてオブジェクトデータ1が参照される。オブジェクトデータ1には、ワークWの属性データが含まれている。このため、プログラムpgm1における動作2では、第1ハンド12にワークWを把持させることを指示することができる。
次いで、プログラムpgm1の3番目の動作(動作3)として、「Arm0」に対して「Move to」という動作命令が指定されている。このとき、動作の目標としてオブジェクトデータ2が参照される。オブジェクトデータ2は、位置P2を指示する位置データ(表2)である。このため、プログラムpgm1における動作3では、第1ハンド12を位置P2に移動させることを指示することができる。
次いで、プログラムpgm1の4番目の動作(動作4)として、「Arm0」に対して「Release」という動作命令が指定されている。このとき、動作の目標としてオブジェクトデータ1が参照される。オブジェクトデータ1には、ワークWの属性データが含まれている。このため、プログラムpgm1における動作4では、第1ハンド12にワークWの把持を解除させることを指示することができる。
上記により、本実施形態では、表1に示すプログラムpgm1に基づいて、第1アーム装置19aでワークWを、位置P1から位置P2へ搬送することができる。
ところで、ワークWを位置P1から位置P2へ搬送する作業としては、上記の作業1の他に、種々の作業が考えられる。例えば、図4に示すように、第2アーム装置19bでワークWを、位置P1から位置P2へ搬送する作業(以下、作業2と呼ぶ)も考えられる。また、図5に示すように、位置P3で第1アーム装置19aから第2アーム装置19bにワークWを中継してから、このワークWを位置P2へ搬送する作業(以下、作業3と呼ぶ)も考えられる。
以下、作業2及び作業3のそれぞれについて、作業の流れと教示プログラムとを説明する。
作業2では、まず、図4(a)に示すように、第2アーム装置19bの第2ハンド14を、ワークWの初期位置である位置P1に移動させる。この「移動」という動作が、ロボット3に実施させる1番目の動作(動作1)である。
次いで、図4(b)に示すように、第2ハンド14にワークWを把持させる。この「把持」という動作が、ロボット3に実施させる2番目の動作(動作2)である。
次いで、図4(c)に示すように、第2ハンド14を位置P2に移動させる。この「移動」という動作が、ロボット3に実施させる3番目の動作(動作3)である。
次いで、図4(d)に示すように、第2ハンド14にワークWの把持を解除させる。この「把持の解除」という動作が、ロボット3に実施させる4番目の動作(動作4)である。
このように、作業2は、上記の動作1〜動作4までの4つの動作で構成される。
作業2を規定する教示プログラム(以下、プログラムpgm2と呼ぶ)では、表3に示すように、動作の順に、「Move to」、「Grasp」、「Move to」、「Release」という4つの動作命令が並んでいる。
Figure 2013158887
プログラムpgm2では、動作1として、「Arm1」に対して「Move to」という動作命令が指定されている。このとき、動作の目標としてオブジェクトデータ1が参照される。オブジェクトデータ1には、ワークWの初期位置(位置P1)を示す位置データが含まれている。このため、プログラムpgm2における動作1では、第2アーム装置19bの第2ハンド14を、位置P1に移動させることを指示することができる。
次いで、プログラムpgm2の動作2として、「Arm1」に対して「Grasp」という動作命令が指定されている。このとき、動作の目標としてオブジェクトデータ1が参照される。オブジェクトデータ1には、ワークWの属性データが含まれている。このため、プログラムpgm2における動作2では、第2ハンド14にワークWを把持させることを指示することができる。
次いで、プログラムpgm2の動作3として、「Arm1」に対して「Move to」という動作命令が指定されている。このとき、動作の目標としてオブジェクトデータ2が参照される。オブジェクトデータ2は、位置P2を指示する位置データ(表2)である。このため、プログラムpgm2における動作3では、第2ハンド14を位置P2に移動させることを指示することができる。
次いで、プログラムpgm2の動作4として、「Arm1」に対して「Release」という動作命令が指定されている。このとき、動作の目標としてオブジェクトデータ1が参照される。オブジェクトデータ1には、ワークWの属性データが含まれている。このため、プログラムpgm2における動作4では、第2ハンド14にワークWの把持を解除させることを指示することができる。
上記により、本実施形態では、表3に示すプログラムpgm2に基づいて、第2アーム装置19bでワークWを、位置P1から位置P2へ搬送することができる。
作業3では、まず、図5(a)に示すように、第1アーム装置19aの第1ハンド12を、ワークWの初期位置である位置P1に移動させる。この「移動」という動作が、ロボット3に実施させる1番目の動作(動作1)である。
次いで、図5(b)に示すように、第1ハンド12にワークWを把持させる。この「把持」という動作が、ロボット3に実施させる2番目の動作(動作2)である。
次いで、図5(c)に示すように、第1ハンド12を位置P3に移動させる。この「移動」という動作が、ロボット3に実施させる3番目の動作(動作3)である。
次いで、図5(d)に示すように、第2アーム装置19bの第2ハンド14を位置P3に移動させる。この「移動」という動作が、ロボット3に実施させる4番目の動作(動作4)である。
次いで、図5(e)に示すように、第2ハンド14にワークWを把持させる。この「把持」という動作が、ロボット3に実施させる5番目の動作(動作5)である。
次いで、図5(f)に示すように、第1ハンド12にワークWの把持を解除させる。この「把持の解除」という動作が、ロボット3に実施させる6番目の動作(動作6)である。これにより、ワークWが第1アーム装置19aから第2アーム装置19bに中継される。
次いで、図5(g)に示すように、第2ハンド14を位置P2に移動させる。この「移動」という動作が、ロボット3に実施させる7番目の動作(動作7)である。
次いで、図5(h)に示すように、第2ハンド14にワークWの把持を解除させる。この「把持の解除」という動作が、ロボット3に実施させる8番目の動作(動作8)である。
このように、作業3は、上記の動作1〜動作8までの8つの動作で構成される。
作業3を規定する教示プログラム(以下、プログラムpgm3と呼ぶ)では、表4に示すように、動作の順に、「Move to」、「Grasp」、「Move to」、「Move to」、「Grasp」、「Release」、「Move to」、「Release」という8つの動作命令が並んでいる。
Figure 2013158887
プログラムpgm3では、動作1として、「Arm0」に対して「Move to」という動作命令が指定されている。このとき、動作の目標としてオブジェクトデータ1が参照される。オブジェクトデータ1には、ワークWの初期位置(位置P1)を示す位置データが含まれている。このため、プログラムpgm3における動作1では、第1アーム装置19aの第1ハンド12を、位置P1に移動させることを指示することができる。
次いで、プログラムpgm3の動作2として、「Arm0」に対して「Grasp」という動作命令が指定されている。このとき、動作の目標としてオブジェクトデータ1が参照される。オブジェクトデータ1には、ワークWの属性データが含まれている。このため、プログラムpgm3における動作2では、第1ハンド12にワークWを把持させることを指示することができる。
次いで、プログラムpgm3の動作3として、「Arm0」に対して「Move to」という動作命令が指定されている。このとき、動作の目標としてオブジェクトデータ3が参照される。オブジェクトデータ3は、位置P3を指示する位置データ(表2)である。このため、プログラムpgm3における動作3では、第1ハンド12を位置P3に移動させることを指示することができる。
次いで、プログラムpgm3の動作4として、「Arm1」に対して「Move to」という動作命令が指定されている。このとき、動作の目標としてオブジェクトデータ3が参照される。オブジェクトデータ3は、位置P3を指示する位置データ(表2)である。このため、プログラムpgm3における動作4では、第2アーム装置19bの第2ハンド14を、位置P3に移動させることを指示することができる。
次いで、プログラムpgm3の動作5として、「Arm1」に対して「Grasp」という動作命令が指定されている。このとき、動作の目標としてオブジェクトデータ1が参照される。オブジェクトデータ1には、ワークWの属性データが含まれている。このため、プログラムpgm3における動作5では、第2ハンド14にワークWを把持させることを指示することができる。
次いで、プログラムpgm3の動作6として、「Arm0」に対して「Release」という動作命令が指定されている。このとき、動作の目標としてオブジェクトデータ1が参照される。オブジェクトデータ1には、ワークWの属性データが含まれている。このため、プログラムpgm3における動作6では、第1ハンド12にワークWの把持を解除させることを指示することができる。
次いで、プログラムpgm3の動作7として、「Arm1」に対して「Move to」という動作命令が指定されている。このとき、動作の目標としてオブジェクトデータ2が参照される。オブジェクトデータ2は、位置P2を指示する位置データ(表2)である。このため、プログラムpgm3における動作7では、第2ハンド14を位置P2に移動させることを指示することができる。
次いで、プログラムpgm3の動作8として、「Arm1」に対して「Release」という動作命令が指定されている。このとき、動作の目標としてオブジェクトデータ1が参照される。オブジェクトデータ1には、ワークWの属性データが含まれている。このため、プログラムpgm3における動作8では、第2ハンド14にワークWの把持を解除させることを指示することができる。
上記により、本実施形態では、表4に示すプログラムpgm3に基づいて、位置P3で第1アーム装置19aから第2アーム装置19bにワークWを中継してから、このワークWを位置P2へ搬送することができる。
プログラムpgm1や、プログラムpgm2、プログラムpgm3などの教示プログラムは、いずれも、人間の作業者によって構築される。教示プログラムを構築する作業は、教示(ティーチングとも呼ばれる)と呼ばれる。
作業者は、入力装置7(図2)を介して、ライブラリー41に保存されている種々の動作命令の中から選択した動作命令を、ロボット3に実施させる作業の流れに沿って配列することによって、教示プログラムを作成する(教示プログラム作成ステップ)。なお、動作命令の選択は、ライブラリー41に保存されている種々の動作命令の中から所望の動作命令を読み出すことによって行われる。
教示プログラム作成ステップには、オブジェクトデータを生成するステップ(オブジェクトデータ生成ステップ)が含まれる。つまり、教示プログラム作成ステップでは、作業者は、入力装置7(図2)を介して、オブジェクトデータの生成も行うことになる。
教示プログラムの実行は、図6に示す実行処理によって実行される。この実行処理は、作業者からの開始の指示に基づいて、制御部21(図2)によって実施される。
この実行処理では、制御部21は、まず、ステップS1において、教示プログラムの読み込みを行う。このとき、制御部21は、作業者によって指定された教示プログラムを、教示プログラム記憶部45から読み出す。読み出された教示プログラムは、データ展開部31に展開される。
次いで、ステップS2において、制御部21は、変数nの値をクリアする。変数nは、動作の順序をカウントするための変数である。
次いで、ステップS3において、制御部21は、変数nの値をインクリメントする。
次いで、ステップS4において、制御部21は、n番目の動作(以下、動作nと呼ぶ)を解釈する。動作nの解釈とは、動作nにおける動作対象、動作命令、及びオブジェクトデータに基づいて、ロボット3に対する駆動指令を生成する作業である。ロボット3に対する駆動指令とは、第1アーム装置19aや第2アーム装置19bのそれぞれにおける腕部17、第1ハンド12、及び第2ハンド14の駆動を指示する指令である。つまり、動作nを達成するために、第1ハンド12や、第2ハンド14、腕部17の単位まで駆動要素を細分化し、細分化した駆動要素ごとに駆動が指示される。これにより、駆動要素ごとに駆動が制御され、動作nが達成され得る。
次いで、ステップS5において、制御部21は、駆動指令を、ロボット3の制御部15(図2)に出力する。この駆動指令には、上述したように、第1ハンド12や、第2ハンド14、腕部17の単位まで細分化された駆動要素ごとに駆動が指示される。これにより、駆動指令を受けた制御部15は、駆動指令に基づいて、第1ハンド12や、第2ハンド14、腕部17の駆動を制御する。この結果、動作nが実行される。
次いで、ステップS6において、制御部21は、動作nの内容と動作nの実行結果とを履歴情報として履歴情報記憶部47に保存する。
次いで、ステップS7において、制御部21は、次の動作があるか否かを判定する。このとき、次の動作がある(Yes)と判定されると、処理がステップS3に移行する。他方で、次の動作がない(No)と判定されると、制御部21は、実行処理を終了する。
履歴情報は、下記の表5に示すように、動作命令の単位で収集され、保存される。履歴情報は、時系列的に保存される。つまり、動作が実行された順に、動作の内容と動作の実行結果とが、履歴情報として保存される。実行結果としては、その動作が成功したか、又は失敗したかが記録される。
表5に示す例では、前述したプログラムpgm1、プログラムpgm2、及びプログラムpgm3を、この順に、それぞれについて1回ずつ実行したときの履歴情報の例が示されている。履歴情報のNo.1〜4が、プログラムpgm1の実行についての履歴に対応している。履歴情報のNo.5〜8が、プログラムpgm2の実行についての履歴に対応している。履歴情報のNo.9〜16が、プログラムpgm3の実行についての履歴に対応している。
Figure 2013158887
本実施形態では、履歴情報に基づいて、ライブラリー41の更新処理が行われる(更新ステップ)。この更新処理は、図7に示すように、ステップS21と、ステップS22と、を有している。
ステップS21の頻度算出処理では、教示プログラムによって規定される作業において、連続して並ぶ複数の動作命令を1つの命令群として、種々の作業における命令群の発生頻度を算出する(頻度算出ステップ)。この頻度算出処理では、上述した履歴情報から、種々の作業における命令群の発生頻度を算出する。
ステップS22の命令群の追加処理では、種々の作業における命令群の発生頻度に応じて、命令群をライブラリー41に追加(保存)する(命令群追加ステップ)。
ステップS21の頻度算出処理での頻度算出ステップにおいて、命令群の発生頻度を算出する方法について説明する。ここでは、上記の表5に示す履歴情報を例に、命令群の発生頻度を算出する方法について説明する。
まず、命令群の形成方法について説明する。
命令群の形成方法では、まず、履歴情報において履歴順に(時系列的に)連続する複数の動作命令を1組の命令群として、すべての命令群の組み合わせを抽出する(命令群抽出ステップ)。
例えば、上記の表5において、履歴番号が1から16までの16個の動作命令を、履歴番号順に連続する2つの動作命令ごとに組み分けすると、15(16−1)組の命令群が形成される。また、上記の表5において、16個の動作命令を、履歴番号順に連続する3つの動作命令ごとに組み分けすると、14(16−2)組の命令群が形成される。同様に、上記の表5において、16個の動作命令を、履歴番号順に連続する4つの動作命令ごとに組み分けすると、13(16−3)組の命令群が形成される。このようにして、16個の動作命令を1組とする命令群まで抽出すると、合計で120組の命令群が形成される。
このことから、N(Nは、2以上の整数)個の動作命令では、形成され得る命令群の組数Cは、下記(1)式により算出される。
C=N×(N−1)/2…(1)
次に、C組(表5の例では120組)の命令群のなかから、相互に同一の命令群の個数をカウントする(命令群カウントステップ)。同一の命令群であるか否かは、動作命令に付随する「動作対象」及び「オブジェクトデータ番号」も考慮して判定される。このとき、命令群ごとに、命令群を構成する動作命令に付随する「動作対象」及び「オブジェクトデータ番号」のそれぞれを変数に置換する(一般化ステップ)。以下において、「動作対象」及び「オブジェクトデータ番号」のそれぞれを変数に置換することを一般化すると表現する。
「動作対象」を置換する変数としては、「動作対象」の種類数に対応する個数の変数が準備される。また、「オブジェクトデータ番号」を置換する変数としては、「オブジェクトデータ番号」の種類数に対応する個数の変数が準備される。
表5の例では、「動作対象」が「Arm0」と「Arm1」との2種類なので、「動作対象」を置換する変数として、種類数に対応する個数である2つの変数が準備される。ここで、「動作対象」を置換する変数として、例えば、「A」、「B」という変数を準備する。
また、表5の例では、「オブジェクトデータ番号」が「1」と「2」と「3」との3種類なので、「オブジェクトデータ番号」を置換する変数として、種類数に対応する個数である3つの変数が準備される。ここで、「オブジェクトデータ番号」を置換する変数として、例えば、「D」、「E」、「F」という変数を準備する。
そして、各命令群において、命令群の先頭の動作命令に付随する「動作対象」を変数「A」に置換し、この動作命令に付随する「オブジェクトデータ番号」を変数「D」に置換する。以下において、命令群における先頭の動作命令に付随する「動作対象」を先頭の「動作対象」と呼ぶ。また、命令群における先頭の動作命令に付随する「オブジェクトデータ番号」を先頭の「オブジェクトデータ番号」と呼ぶ。
次に、この命令群の2番目の動作命令に付随する「動作対象」が先頭の「動作対象」と同一である場合に、この2番目の「動作対象」を、先頭の「動作対象」と同じ変数「A」に置換する。他方で、2番目の「動作対象」が先頭の「動作対象」と異なる場合には、2番目の「動作対象」を、先頭の「動作対象」とは異なる変数「B」に置換する。3番目以降の「動作対象」がある場合には、すべての「動作対象」について上記を繰り返す。
次に、この命令群の2番目の動作命令に付随する「オブジェクトデータ番号」が先頭の「オブジェクトデータ番号」と同一である場合に、この2番目の「オブジェクトデータ番号」を、先頭の「オブジェクトデータ番号」と同じ変数「D」に置換する。他方で、2番目の「オブジェクトデータ番号」が先頭の「オブジェクトデータ番号」と異なる場合には、2番目の「オブジェクトデータ番号」を、先頭の「オブジェクトデータ番号」とは異なる変数「E」に置換する。3番目の「オブジェクトデータ番号」がある場合には、3番目の「オブジェクトデータ番号」を、変数「D」、変数「E」、変数「F」のいずれかに置換する。
このとき、3番目の「オブジェクトデータ番号」が先頭の「オブジェクトデータ番号」と同一である場合に、3番目の「オブジェクトデータ番号」を変数「D」に置換する。また、3番目の「オブジェクトデータ番号」が2番目の「オブジェクトデータ番号」と同一である場合に、3番目の「オブジェクトデータ番号」を変数「E」に置換する。そして、3番目の「オブジェクトデータ番号」が先頭の「オブジェクトデータ番号」、2番目の「オブジェクトデータ番号」のいずれとも異なる場合に、3番目の「オブジェクトデータ番号」を変数「F」に置換する。4番目以降の「オブジェクトデータ番号」がある場合には、すべての「オブジェクトデータ番号」について上記を繰り返す。
ここで、表5において、例えば、連続する「Move to」と「Grasp」との組み合わせに着目する。この組み合わせは、下記表6に示すように、履歴番号1及び2の組み合わせ、履歴番号5及び6の組み合わせ、履歴番号9及び10の組み合わせ、及び履歴番号12及び13の組み合わせの4つとなる。なお、表6における履歴番号は、表5の履歴番号に対応している。
Figure 2013158887
履歴番号1及び2の動作命令を、上記のルールに従って変数に置換すると、表6に示すNo.1の命令群として一般化され得る。
また、履歴番号5及び6の動作命令を、上記のルールに従って変数に置換すると、表6に示すNo.2の命令群として一般化され得る。
同様に、履歴番号9及び10の動作命令を、上記のルールに従って変数に置換すると、表6に示すNo.3の命令群として一般化され得る。
履歴番号12及び13の動作命令を、上記のルールに従って変数に置換すると、表6に示すNo.4の命令群として一般化され得る。
No.1〜3の命令群は、相互に同一の命令群として一般化される。これに対して、No.4の命令群は、No.1〜3の命令群とは異なる命令群として一般化される。
これらのNo.1〜4の命令群では、No.1〜3の命令群が同一の命令群として判定され、No.4の命令群がNo.1〜3の命令群とは異なる命令群として判定される。
これにより、No.1の命令群と同一の命令群の個数は、No.1〜3の3個としてカウントされ得る。また、No.4の命令群と同一の命令群の個数は、No.4の1個としてカウントされ得る。
C組(表5の例では120組)の命令群のそれぞれを一般化してから同一の命令群の個数をカウントすることによって、下記表7に示す頻度テーブルとして、同一の命令群の発生個数を集計することができる。
Figure 2013158887
そして、発生個数をCの値(本例では120)で除算することによって、命令群の発生頻度が算出され得る。ただし、履歴情報において、実行結果が「失敗」している動作(以下、失敗動作と呼ぶ)を含む命令群は、発生頻度の算出から除外される。本例では、No.4の命令群の「Grasp」(履歴番号13)の実行結果が「失敗」している、すなわち履歴番号13の「把持」という動作が失敗動作であるので、No.4の命令群は、発生頻度の算出から除外されている。
図7に示すステップS21の頻度算出処理では、頻度算出ステップにおいて、上記の頻度テーブルを作成する。なお、作成された頻度テーブルは、データ展開部31に保存される。
ステップS22の命令群の追加処理では、図8に示すように、制御部21は、ステップS31において、頻度テーブルを読み込みを行う。
次いで、ステップS32において、制御部21は、変数hの値をクリアする。変数hは、命令群の番号(No.)をカウントするための変数である。
次いで、ステップS33において、制御部21は、変数hの値をインクリメントする。
次いで、ステップS34において、制御部21は、番号(No.)hの命令群(以下、命令群hと呼ぶ)があるか否かを判定する。このとき、命令群hがある(Yes)と判定されると、処理がステップS35に移行する。他方で、命令群hがない(No)と判定されると、処理がステップS33に移行する。
次いで、ステップS35において、制御部21は、命令群hの発生頻度があるか否かを判定する。このとき、命令群hの発生頻度がある(Yes)と判定されると、処理がステップS36に移行する。他方で、命令群hの発生頻度がない(No)と判定されると、処理がステップS40に移行する。なお、命令群hの発生頻度がないというのは、頻度テーブルにおいて、失敗動作が含まれることによって発生頻度の算出から除外されたことを意味する。
次いで、ステップS36において、制御部21は、発生頻度が所定値J以上であるか否かを判定する。このとき、発生頻度が所定値J以上である(Yes)と判定されると、処理がステップS37に移行する。他方で、発生頻度が所定値J未満である(No)と判定されると、処理がステップS40に移行する。
次いで、ステップS37において、制御部21は、命令群hに付与する名称の入力を要求する。このとき、この要求は、表示装置9を介して作業者に報知される。
次いで、ステップS38において、制御部21は、名称の入力が完了したか否かを判定する。このとき、名称の入力が完了した(Yes)と判定されると、処理がステップS39に移行する。他方で、名称の入力が完了していない(No)と判定されると、名称の入力が完了するまで処理を待機させる。
次いで、ステップS39において、制御部21は、命令群hを、この命令群hの名称とともに、ライブラリー41に保存(追加)する。
次いで、ステップS40において、制御部21は、次の命令群があるか否かを判定する。このとき、次の命令群がある(Yes)と判定されると、処理がステップS33に移行する。他方で、次の動作がない(No)と判定されると、制御部21は、命令群の追加処理を終了する。
以上により、ライブラリー41の更新処理が終了する。
本実施形態によれば、ライブラリー41の更新処理の後に、新たな教示プログラムを構築する場合、作業者は、ライブラリー41に登録されている命令群を選択することができる。つまり、ライブラリー41の更新処理によってライブラリー41に追加された命令群は、新たな教示プログラムの構築に供される。これにより、命令群を構成する複数の動作命令のそれぞれを個別にライブラリー41から選択する手間を簡略化することができる。この結果、教示プログラムの構築(教示)にかかる作業を効率化しやすくすることができる。
なお、ライブラリー41に追加される命令群では、「動作対象」や「オブジェクトデータ番号」が登録されていない。教示プログラムを構築する作業者は、教示プログラムを構築する都度、教示プログラムにおいて「動作対象」や「オブジェクトデータ番号」を登録(入力)する。これにより、ライブラリー41における命令群の汎用性が高められている。
また、本実施形態では、履歴情報において、失敗動作を含む命令群は、発生頻度の算出から除外されるので、ロボット3の作業における動作の失敗を軽減できる教示プログラムを構築しやすくすることができる。
本実施形態において、ロボット制御装置5が教示装置に対応し、ライブラリー41が命令保存部に対応し、教示プログラム記憶部45が教示プログラム保存部に対応し、履歴情報記憶部47が履歴記録部に対応している。また、ステップS21の処理が頻度算出部に対応し、ステップS22の処理がライブラリー更新部に対応し、ステップS21及びステップS35の処理が失敗動作検出部に対応している。
本実施形態では、ロボット3とロボット制御装置5とが互いに別体である構成が採用されている。しかしながら、ロボット3の構成は、これに限定されない。ロボット3の構成としては、例えば、図9に示すように、ロボット3がロボット制御装置5を有している構成も採用され得る。この構成例では、ロボット3は、図10に示すように、ロボット制御装置5と、制御部15と、第1アーム装置19aと、第2アーム装置19bと、を有している。
ロボット3がロボット制御装置5を有している構成においても、ロボット3とロボット制御装置5とが互いに別体である構成(図1及び図2)と同様の効果が得られる。
また、本実施形態では、履歴情報に基づいて命令群の発生頻度を算出する方法が採用されている。しかしながら、発生頻度の算出方法は、これに限定されない。発生頻度の算出方法としては、例えば、教示プログラム記憶部45に保存されている種々の教示プログラムに基づいて命令群の発生頻度を算出する方法も採用され得る。この場合、教示プログラムにおいて連続して並ぶ複数の動作命令を1組として命令群を形成する方法が考えられる。この方法によっても、種々の作業における命令群の発生頻度に応じて、命令群をライブラリー41に追加(保存)することができる。
1…ロボット装置、3…ロボット、5…ロボット制御装置、7…入力装置、9…表示装置、11…第1アーム、12…第1ハンド、13…第2アーム、14…第2ハンド、15…制御部、17…腕部、18…関節部、19a…第1アーム装置、19b…第2アーム装置、21…制御部、23…メモリー部、25…データベース、27…インターフェイス部、29…バス、31…データ展開部、41…ライブラリー、43…オブジェクトデータ記憶部、45…教示プログラム記憶部、47…履歴情報記憶部、W…ワーク。

Claims (12)

  1. ロボットの動作を規定する複数の動作命令がライブラリーとして保存された命令保存部と、
    前記ロボットに実施させる作業を、前記作業の流れに沿って前記ライブラリーから選択された複数の前記動作命令の配列によって規定する教示プログラムを保存する教示プログラム保存部と、
    前記ライブラリーを更新するライブラリー更新部と、を含み、
    前記ライブラリー更新部は、前記教示プログラムによって規定される前記作業において、連続して並ぶ複数の前記動作命令を1つの命令群として、前記作業における前記命令群の発生頻度に応じて、前記命令群を前記ライブラリーに追加する、
    ことを特徴とする教示装置。
  2. 前記ロボットの前記作業における前記動作の履歴を記録する履歴記録部と、
    前記履歴記録部に記録された前記履歴から前記命令群の前記発生頻度を算出する頻度算出部と、を含み、
    前記ライブラリー更新部は、前記頻度算出部によって算出された前記発生頻度に基づいて、前記命令群を前記ライブラリーに追加する、
    ことを特徴とする請求項1に記載の教示装置。
  3. 前記履歴記録部に記録された前記履歴から、複数の前記動作のうちで前記ロボットが失敗した前記動作を失敗動作として検出する失敗動作検出部を含み、
    前記頻度算出部は、検出された前記失敗動作に対応する前記動作命令が含まれる前記命令群を、前記発生頻度の算出から除外する、
    ことを特徴とする請求項2に記載の教示装置。
  4. ワークを把持するハンドと、
    前記ハンドを変位させるアームと、
    前記ハンド及び前記アームの駆動を制御する制御部と、
    前記ハンド及び前記アームのそれぞれの動作を規定する複数の動作命令がライブラリーとして保存された命令保存部と、
    前記ハンド及び前記アームに実施させる作業を、前記作業の流れに沿って前記ライブラリーから選択された複数の前記動作命令の配列によって規定する教示プログラムを保存する教示プログラム保存部と、
    前記ライブラリーを更新するライブラリー更新部と、を含み、
    前記ライブラリー更新部は、前記教示プログラムによって規定される前記作業において、連続して並ぶ複数の前記動作命令を1つの命令群として、前記作業における前記命令群の発生頻度に応じて、前記命令群を前記ライブラリーに追加する、
    ことを特徴とするロボット。
  5. 前記作業における前記ハンド及び前記アームのそれぞれの前記動作の履歴を記録する履歴記録部と、
    前記履歴記録部に記録された前記履歴から前記命令群の前記発生頻度を算出する頻度算出部と、を含み、
    前記ライブラリー更新部は、前記頻度算出部によって算出された前記発生頻度に基づいて、前記命令群を前記ライブラリーに追加する、
    ことを特徴とする請求項4に記載のロボット。
  6. 前記履歴記録部に記録された前記履歴から、複数の前記動作のうちで前記ハンド及び前記アームの少なくとも一方が失敗した前記動作を失敗動作として検出する失敗動作検出部を含み、
    前記頻度算出部は、検出された前記失敗動作に対応する前記動作命令が含まれる前記命令群を、前記発生頻度の算出から除外する、
    ことを特徴とする請求項5に記載のロボット。
  7. ワークを把持するハンドと、前記ハンドを変位させるアームと、前記ハンド及び前記アームの駆動を制御する制御部と、を有するロボットと、
    前記ロボットの動作を規定する複数の動作命令がライブラリーとして保存された命令保存部と、
    前記ロボットに実施させる作業を、前記作業の流れに沿って前記ライブラリーから選択された複数の前記動作命令の配列によって規定する教示プログラムを保存する教示プログラム保存部と、
    前記ライブラリーを更新するライブラリー更新部と、を含み、
    前記ライブラリー更新部は、前記教示プログラムによって規定される前記作業において、連続して並ぶ複数の前記動作命令を1つの命令群として、前記作業における前記命令群の発生頻度に応じて、前記命令群を前記ライブラリーに追加する、
    ことを特徴とするロボット装置。
  8. 前記ロボットの前記作業における前記動作の履歴を記録する履歴記録部と、
    前記履歴記録部に記録された前記履歴から前記命令群の前記発生頻度を算出する頻度算出部と、を含み、
    前記ライブラリー更新部は、前記頻度算出部によって算出された前記発生頻度に基づいて、前記命令群を前記ライブラリーに追加する、
    ことを特徴とする請求項7に記載のロボット装置。
  9. 前記履歴記録部に記録された前記履歴から、複数の前記動作のうちで前記ロボットが失敗した前記動作を失敗動作として検出する失敗動作検出部を含み、
    前記頻度算出部は、検出された前記失敗動作に対応する前記動作命令が含まれる前記命令群を、前記発生頻度の算出から除外する、
    ことを特徴とする請求項8に記載のロボット装置。
  10. ロボットの動作を規定する複数の動作命令が保存されたライブラリーから選択した複数の前記動作命令を、前記ロボットに実施させる作業の流れに沿って配列することによって、前記ロボットに実施させる前記作業を規定する教示プログラムを作成するステップと、
    前記教示プログラムによって規定される前記作業において、連続して並ぶ複数の前記動作命令を1つの命令群として、前記作業における前記命令群の発生頻度を算出するステップと、
    前記作業における前記命令群の前記発生頻度に応じて、前記命令群を前記ライブラリーに追加するステップと、を含む、
    ことを特徴とする教示方法。
  11. 前記発生頻度を算出するステップでは、前記ロボットの前記動作の履歴から前記命令群の前記発生頻度を算出する、
    ことを特徴とする請求項10に記載の教示方法。
  12. 前記履歴から、複数の前記動作のうちで前記ロボットが失敗した前記動作を失敗動作として検出するステップを含み、
    前記発生頻度を算出するステップでは、検出された前記失敗動作に対応する前記動作命令が含まれる前記命令群を、前記発生頻度の算出から除外する、
    ことを特徴とする請求項11に記載の教示方法。
JP2012023817A 2012-02-07 2012-02-07 教示装置、ロボット、ロボット装置、教示方法 Pending JP2013158887A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012023817A JP2013158887A (ja) 2012-02-07 2012-02-07 教示装置、ロボット、ロボット装置、教示方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012023817A JP2013158887A (ja) 2012-02-07 2012-02-07 教示装置、ロボット、ロボット装置、教示方法

Publications (1)

Publication Number Publication Date
JP2013158887A true JP2013158887A (ja) 2013-08-19

Family

ID=49171570

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012023817A Pending JP2013158887A (ja) 2012-02-07 2012-02-07 教示装置、ロボット、ロボット装置、教示方法

Country Status (1)

Country Link
JP (1) JP2013158887A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019064752A1 (ja) * 2017-09-28 2019-04-04 日本電産株式会社 ロボット教示システム、ロボット教示方法、制御装置、及びコンピュータプログラム
WO2019064751A1 (ja) * 2017-09-28 2019-04-04 日本電産株式会社 ロボット教示システム、ロボット教示方法、制御装置、及びコンピュータプログラム
JP2020114623A (ja) * 2014-03-04 2020-07-30 ユニバーサル ロボッツ アクツイエセルスカプ 産業用ロボットとこれの安全制御を与える方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020114623A (ja) * 2014-03-04 2020-07-30 ユニバーサル ロボッツ アクツイエセルスカプ 産業用ロボットとこれの安全制御を与える方法
JP7042554B2 (ja) 2014-03-04 2022-03-28 ユニバーサル ロボッツ アクツイエセルスカプ 安全機能を有する工業用ロボットとその安全制御のための方法
WO2019064752A1 (ja) * 2017-09-28 2019-04-04 日本電産株式会社 ロボット教示システム、ロボット教示方法、制御装置、及びコンピュータプログラム
WO2019064751A1 (ja) * 2017-09-28 2019-04-04 日本電産株式会社 ロボット教示システム、ロボット教示方法、制御装置、及びコンピュータプログラム

Similar Documents

Publication Publication Date Title
Kasperzyk et al. Automated re-prefabrication system for buildings using robotics
US11007646B2 (en) Programming assistance apparatus, robot system, and method for generating program
US20200016742A1 (en) Picking system and method for controlling same
JP2016209969A (ja) 情報処理方法、および情報処理装置
JP5911933B2 (ja) ロボットの動作監視領域を設定するロボットシステム
JP2007054942A (ja) ロボットプログラム評価・修正方法及びロボットプログラム評価・修正装置
KR102335814B1 (ko) 스마트팩토리용 데이터 모델 생성 장치 및 그 방법
JP2020082322A (ja) 機械学習装置、機械学習システム、データ処理システム及び機械学習方法
US20170139390A1 (en) Sequence-control programming apparatus, sequence-control programming method, and operating system
US10037019B2 (en) System comprising development environments and machine controls
US10493625B2 (en) System for generating sets of control data for robots
CN108664729A (zh) 一种gromacs云计算流程控制方法
JP2013158887A (ja) 教示装置、ロボット、ロボット装置、教示方法
US20140310052A1 (en) Method And Apparatus For Generating An Engineering Workflow
Felbrich et al. Autonomous robotic additive manufacturing through distributed model‐free deep reinforcement learning in computational design environments
JP6514273B2 (ja) 速度を表示するロボットシステム
JP2005149016A (ja) ロボットプログラム修正装置
US8165863B2 (en) Visualization method for electrical machine operation models based on mechanical machine operation models
CN112654943A (zh) 制造系统设计辅助装置
US20240036561A1 (en) Production Line Design Device, Production Line Design System, and Production Line Design Method
KR101263487B1 (ko) 로봇의 교시 장치
Edwards et al. Coverage planning for capacitated field operations under spatial variability
JP2007334855A (ja) スケジュール作成方法,スケジュール作成装置,及びコンピュータプログラム
CN112396653B (zh) 一种目标场景导向的机器人操作策略生成方法
Schumann-Olsen et al. Parallel dynamic roadmaps for real-time motion planning in complex dynamic scenes