JP2013121644A - ロボット制御システム、制御装置、制御方法、及びプログラム - Google Patents

ロボット制御システム、制御装置、制御方法、及びプログラム Download PDF

Info

Publication number
JP2013121644A
JP2013121644A JP2011271689A JP2011271689A JP2013121644A JP 2013121644 A JP2013121644 A JP 2013121644A JP 2011271689 A JP2011271689 A JP 2011271689A JP 2011271689 A JP2011271689 A JP 2011271689A JP 2013121644 A JP2013121644 A JP 2013121644A
Authority
JP
Japan
Prior art keywords
target position
communication
robot
movable
movable parts
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
JP2011271689A
Other languages
English (en)
Inventor
Ko Tachiwa
航 立和
直人 ▲高▼橋
Naoto Takahashi
智行 ▲高▼田
Satoyuki Takada
Kazushi Asai
一志 浅井
Makoto Umehara
誠 梅原
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2011271689A priority Critical patent/JP2013121644A/ja
Publication of JP2013121644A publication Critical patent/JP2013121644A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Manipulator (AREA)

Abstract

【課題】 通信に障害が生じた可動部がある場合にも、ロボットを自動で退避位置へ移動させること。
【解決手段】 ロボット制御システムは、複数の可動部を含むロボットと、通信を介してその複数の可動部を制御して、ロボットの所定の部位を移動させる制御手段とを備えるロボット制御システムであって、制御手段は、通信に障害がない場合に複数の可動部が移動すべき位置を示す目標位置と、通信に障害が発生した場合に複数の可動部が移動すべき位置を示す予備目標位置とを含む情報を、複数の可動部のそれぞれに送信し、複数の可動部のそれぞれは、情報を受信し、制御手段との間の通信に障害が発生したかの判定を行い、通信に障害があるかの判定結果に基づいて、目標位置と予備目標位置とから、可動部が移動すべき位置を選択して設定する。
【選択図】 図1

Description

本発明は、複数の可動部を備えるロボットの動作制御に関する。
複数の可動部を持つロボットは様々な姿勢を取ることが可能であり、このことから、産業用に広く用いられている。また、従来の産業用ロボットは固定的なプログラムに基づいて一種類の動作を繰り返すものが主流であったが、近年、センサやプロセッサの能力の向上により、周辺の状況に応じて柔軟に動作を変化させるロボットが利用されている。このようなロボットの例としては、乱雑に積まれた部品から一つを掴んで所定の位置に取り付ける、といった作業を行うロボットが挙げられる。部品の積まれ方は毎回異なる為、このロボットにおいても、掴むための動作が毎回異なる。このように動作が毎回異なると、ロボットが通過する軌道も毎回異なることになる。このため、特許文献1では、周辺の状況を監視して、他のロボットや物体に衝突しないようにロボットの軌道を制御する技術が提案されている。
また、ロボットに異常が生じた場合は、作業を緊急停止した後に周辺の物体から離れた場所に退避させる必要がある。これは、緊急停止の後に作業エリア内に留まり続けると周辺のロボットの動作の障害となるばかりでなく、作業エリア内では周辺のロボットが動作していてメンテナンスを行うことができないためである。また、多くのロボットはメンテナンス後の再起動を行う際に、退避位置を原点として起動する前提で設計されている。そこで、特許文献2では、ロボットに異常が生じたら退避位置まで自動的に移動させるための技術が提案されている。
特開平08−036410号公報 特開2006−012074号公報
一般に、ロボットは、ロボット全体の動作を制御する全体制御部と、ロボットの各可動部に配置され、全体制御部からの指示に基づいて各可動部のアクチュエータを制御する複数の制御部とから構成される。全体制御部と各可動部の制御部の間を結ぶ通信線は、可動部が動く度に力が加わって変形するため、例えば電話線のように固定的に敷設される通常の通信線と比較すると劣化が速く断線しやすいという特徴がある。
ここで、特許文献2に記載の技術では、ロボットに異常が生じた場合に、ロボットを退避位置に戻すための指示を全体制御部からの通信によって出していた。このため、ロボットに生じた異常が通信に関するものであった場合、通信による指示が届かないため、ロボットを退避位置に自動的に移動させることができないという問題があった。このような場合には、作業員がロボットを動かして退避位置に戻すこととなり、この結果、作業員を待機させておく必要があるという問題に加え、作業にかかる時間が自動の場合よりも増大し、メンテナンスに必要なコストが増大するという問題が生じていた。さらに、自動的に退避位置に移動することができないと、退避位置に戻す操作が可能な作業員が到着するまでの期間はその場で停止することになる。周辺で他のロボットや人が作業をしている場合、故障を起こしたロボットが作業エリア内に留まることにより、作業の障害となったり衝突してしまう場合がある、という問題があった。
本発明は上記課題に鑑みなされたものであり、通信に障害が生じた場合でもロボットを退避位置へ移動させることを目的とする。
上記目的を達成するため、本発明によるロボット制御システムは、 複数の可動部を含むロボットと、通信を介して当該複数の可動部を制御して、前記ロボットの所定の部位を移動させる制御手段とを備えるロボット制御システムであって、前記制御手段は、前記通信に障害がない場合に前記複数の可動部が移動すべき位置を示す目標位置と、前記通信に障害が発生した場合に前記複数の可動部が移動すべき位置を示す予備目標位置とを含む情報を、前記複数の可動部のそれぞれに送信する送信手段、を備え、前記複数の可動部のそれぞれは、前記情報を受信する受信手段と、前記制御手段との間の通信に障害が発生したかの判定を行う判定手段と、前記通信に障害があるかの判定結果に基づいて、前記目標位置と前記予備目標位置とから、可動部が移動すべき位置を選択して設定する設定手段と、を備える。
本発明によれば、通信に障害が生じて移動すべき位置を受信することができない可動部がある場合にも、ロボットを自動で退避位置へ移動させることができる。
ロボット制御システムの全体構成例を示す図。 ロボット制御部とロボットの内部構成を示す図。 目標位置生成部の動作フローを示す図。 目標位置生成部が生成する目標位置を説明する図。 予備目標位置生成部の動作フローを表す図。 予備目標位置生成部が生成する予備目標位置を説明する図。
以下、添付図面を参照して本発明の実施の形態を詳細に説明する。
<<実施形態1>>
(ロボット制御システム)
図1は、ロボット制御システムの全体構成の例を示す図である。ロボット制御部100は、ロボット110を制御して加工対象物120に対して所定の加工を行う制御装置である。ここで、加工対象物120はロボット110の近くに乱雑に置かれ、その位置は毎回異なる。そこでロボット制御部100は、カメラ101によって加工対象物120の位置を検出する。
ロボット110は、例えば、複数の可動部111〜113とエンドエフェクタ114で構成されるアーム状のロボットであり、アームの途中に可動部111〜113が設置され、アームの先端にエンドエフェクタ114が設置される。複数の可動部111〜113は、例えば、それぞれ直交するX軸、Y軸、Z軸方向にエンドエフェクタ114を移動させることを可能し、これらを組み合わせることにより、3次元の所定の位置にエンドエフェクタ114を移動させることができる。ここで、ロボット制御部100は、X軸、Y軸、Z軸の各座標値を可動部111〜113に所定の周期で送信し、エンドエフェクタ114を目標の位置に移動させる。本実施形態の説明においては、この所定の周期を1ミリ秒とするが、周期は1ミリ秒以外の値でもよく、また固定周期でなくてもよい。
エンドエフェクタ114は、ロボット110の末端に取り付けられ、加工対象物120に直接接触し、所定の加工を行うロボットの部位である。エンドエフェクタ114は、例えば、溶接ガンやピンセットハンドである。エンドエフェクタ114は、加工対象物120に接触すると自律的に所定の加工を行う。
ロボット制御部100およびロボット110の周辺には、複数の周辺装置130が存在する。周辺装置130は、ロボット110が加工中の加工対象物120に別の加工を施したり、加工対象物120の向きを変えるといった処理を行う。周辺装置130は、例えば、加工が済んだ加工対象物120を次の工程に運ぶベルトコンベアや、加工対象物120の向きを変える回転台、加工対象物120の所定位置にシールを貼るロボットである。
ロボット110と周辺装置130は同じ加工対象物120に対して作用するため、互いに近接しており、動作を行う領域が重複する。また、加工対象物120の位置は毎回異なるため、ロボット110の動作と周辺装置130の動作は毎回異なる。このように、動作のパターンが無数にあるため、周辺装置130に衝突しないような固定的な動作軌道をロボット110に予め記憶させておくことは出来ない。そこでロボット制御部100は、カメラ101によって周辺装置130の位置を常時検出し、周辺装置130と衝突しないようにロボット110を制御することとなる。なお、ここでは1つのカメラ101が加工対象物120の位置検出と周辺装置130の位置検出を行うこととしたが、複数のカメラ101を用意し、それぞれの位置検出に独立した別々のカメラを用いてもよい。
ロボット制御部100は、ロボット110に異常が生じてメンテナンスが必要となった場合には、ロボット110を速やかに退避位置140に移動させる。退避位置140は、周辺装置130の動作領域から十分に離れ、ロボット110がこの位置にあるときには周辺装置130と衝突することはない位置である。
(ロボット制御部及びロボットの構成)
続いて、ロボット制御部100とロボット110の内部構成について、図2の例を用いて説明する。ここで、図2は、ロボット制御部100とロボット110の内部構成の例を表す図である。
図2において、ロボット制御部100は、目標位置生成部201、予備目標位置生成部202、動作モード切替部203、及び通信部204を備える。目標位置生成部201は、1ミリ秒毎に、エンドエフェクタ114の先端が1ミリ秒後に到達すべき第1の位置である目標位置の情報を生成する。目標位置の情報は、例えば、所定の位置を原点とする三次元の直交座標で表され、X軸成分、Y軸成分、Z軸成分の3個の値を含む。目標位置生成部201は、可動部111〜113から取得する現在位置情報と、カメラ101から取得する映像情報と、内部で保持するロボット110の外形情報及び可動部111〜113の駆動能力情報とに基づいて、次の目標位置を決定する。なお、目標位置生成部201は、加工対象物120を加工するための目標位置を決定する「加工モード」と、退避位置140へ移動するための目標位置を決定する「退避モード」の二つの動作モードで動作する。なお、通常の動作モードが加工モードであり、通信に障害が生じた場合などに実行される動作モードが退避モードである。目標位置生成部201の動作の詳細については後述する。
予備目標位置生成部202は、1ミリ秒毎に第2の位置である予備目標位置の情報を生成する。予備目標位置は、目標位置と同様に、例えば、所定の位置を原点とする三次元の直交座標で表され、X軸成分、Y軸成分、Z軸成分の3個の値を含む。ここで、予備目標位置は、障害の発生などによりロボット制御部100と可動部111〜113との間の通信が不能となった場合に、可動部111〜113を移動すべき位置である。予備目標位置生成部202は、可動部111〜113から取得する現在位置情報と、カメラ101から取得する映像情報と、内部で保持するロボット110の外形情報及び可動部111〜113の駆動能力情報とに基づいて、予備目標位置を決定する。なお、予備目標位置生成部202も、通常時の動作モードである「加工モード」と、異常時の動作モードである「退避モード」の二つの動作モードで動作する。予備目標位置生成部202の動作の詳細については後述する。
動作モード切替部203は、ロボット制御部100と可動部111〜113との間の通信に障害が発生していないかを監視して判定する。例えば、動作モード切替部203は、通信部204を介して可動部111〜113から最後にデータを受信してから経過した時間を監視する。そして、動作モード切替部203は、ある可動部から所定の期間内に一度もデータを受信しなかった場合、その可動部との通信に障害が発生したと判断する。このとき動作モード切替部203は、目標位置生成部201と予備目標位置生成部202に対して、どの可動部との通信が途絶えたかを示す情報を出力するとともに、目標位置生成部201に動作モードを退避動作モードに切り替える指示を出す。なお、上記所定の期間は、通常時にデータを受信する周期である1ミリ秒に対して十分に長い期間とする。
通信部204は、目標位置生成部201および予備目標位置生成部202から出力される情報を、伝送路220を通して可動部111〜113に送信する。また、通信部204は、可動部111〜113から受信した現在位置情報を、目標位置生成部201と予備目標位置生成部202に出力する。ここで、可動部111〜113には、それぞれの可動部111〜113を識別する識別情報を、通信用に事前に割り当てておくものとする。通信部204は、送信するデータにこの識別情報を付加することで宛先を区別して送信する。 なお、伝送路220は、ロボット制御部100と可動部111〜113およびエンドエフェクタ114の間で通信を行うための伝送路である。図2においては伝送路220はバス型であるが、他のトポロジでもよい。
一方、図2において、可動部111は、通信部211、目標位置保持部212、予備目標位置保持部213、目標位置切替部214、スイッチ215、アクチュエータ制御部216、アクチュエータ217、及び現在位置検出部218を備える。なお、可動部112、113も同様である。
通信部211は、ロボット制御部100から可動部111の識別情報が付加された目標位置と予備目標位置とを、それぞれ目標位置保持部212と予備目標位置保持部213とへ出力する。また通信部211は、アクチュエータ制御部216から入力される現在位置情報に可動部111の識別情報を付加したデータを、ロボット制御部100へ送信する。
目標位置保持部212は、ロボット制御部100から最後に受信した目標位置を保持する。また、予備目標位置保持部213は、ロボット制御部100から最後に受信した予備目標位置を保持する。目標位置保持部212と予備目標位置保持部213に保持されている目標位置と予備目標位置は、スイッチ215により選択的にアクチュエータ制御部216へ入力され、これにより、可動部111の移動すべき位置が設定される。
具体的には、目標位置切替部214は、通信部211を介してロボット制御部100から最後にデータを受信してから経過した時間を監視し、通信に障害が発生したかを判定する。そして、判定結果に基づいて、スイッチ215を切り替え、目標位置と予備目標位置とから、アクチュエータ制御部216へ入力する情報を選択する。例えば、通信に障害がなく、ロボット制御部100からの目標位置及び予備目標位置の情報を取得できている場合は、目標位置切替部214は、目標位置保持部212からの目標位置がアクチュエータ制御部216に入力されるようにスイッチ215を制御する。一方、所定の期間内に一度もデータを受信しなかった場合などは、目標位置切替部214は、ロボット制御部100との通信に障害が発生したと判定する。このとき目標位置切替部214は、予備目標位置保持部213の出力がアクチュエータ制御部216に入力されるようにスイッチ215を切り替える。これにより、目標位置切替部214は、スイッチ215を制御することにより、エンドエフェクタ114を移動させるべき位置を選択して設定する。なお、通信状態を監視するための所定の期間は、通常時にデータを受信する周期である1ミリ秒に対して十分に長い期間とする。
アクチュエータ制御部216は、目標位置のX軸成分または予備目標位置のX軸成分に基づいて、エンドエフェクタ114が指示された位置に移動するようにアクチュエータ217を駆動する。またアクチュエータ制御部216は、1ミリ秒毎に、現在位置検出部218で検出するエンドエフェクタ114のX軸方向の現在位置を通信部211を通してロボット制御部100に送信する。アクチュエータ217は、エンドエフェクタ114をX軸方向に動かす為のアクチュエータである。現在位置検出部218は、1ミリ秒毎にエンドエフェクタ114のX軸方向の現在位置を検出し、アクチュエータ制御部216に出力する。
可動部112および可動部113の内部構成は可動部111とほぼ同一であるが、以下の点で異なる。まず、可動部112および可動部113の通信部211は、それぞれ識別子「112」および「113」が付加された情報を受信し、送信データにはそれぞれ識別子「112」および「113」を付加する。また、可動部112および可動部113のアクチュエータ制御部216とアクチュエータ217、現在位置検出部218は、それぞれY軸成分およびZ軸成分の移動と検出を行う。
(目標位置生成部の動作)
続いて、図3および図4を用いて目標位置生成部201の動作を詳細に説明する。図3は、目標位置生成部201の動作フローを表す図である。図4は、目標位置生成部201が生成する目標位置を説明する図である。
ロボット制御システム起動時や障害の修復が終了すると、目標位置生成部201は、まず、動作モードを加工モードに設定する(S301)。そして、現在の動作モードが加工モードであるか退避モードであるかの判定を行う(S302)。動作モードが加工モードである場合(S302でYES)、S303〜S311の動作を実行する。一方、動作モードが退避モードである場合(S302でNO)、S321〜S325の動作を行う。以下では、まず、加工モードであった場合(S302でYES)について、説明を行う。
加工モードでは、目標位置生成部201は、通信部204を介して、可動部111〜113からエンドエフェクタ114の現在位置を取得する(S303)。また、目標位置生成部201は、カメラ101から入力される映像情報を解析し、加工対象物120と周辺装置130の位置を検出する(S304)。そして、目標位置生成部201は、周辺装置130に接触することなくエンドエフェクタ114の先端を現在位置である点400から加工対象物120の表面の加工すべき点に到達するような軌道を生成する(S305)。
ここで、生成される軌道は、周辺装置130に接触しないようにするために、S304で検出した周辺装置130の位置情報と、内部に持つロボット110の外形情報とに基づいて、周辺装置130から所定の距離だけ離れた起動となるようにする。例えば、表面に加工すべき点401を有する加工対象物120と周辺装置130の位置とが図4のような関係になっているものとする。なお、加工すべき点401とは、例えば、エンドエフェクタ114がネジを締めるドライバーである場合、加工対象物120上の締めるべきネジの位置である。そして、現在位置が点400である場合、生成される軌道は411のようになる。ここで、軌道411は、エンドエフェクタ114の先端が描く軌道であり、ロボット110は有限の大きさがあるため、軌道411は周辺装置130から少なくとも距離430だけ離れるようにする。距離430は、例えば、目標位置生成部201が内部に保持するロボット110の外形情報に基づいて算出される。
S305で軌道が生成されると、目標位置生成部201は、その軌道上に存在し、現在位置の近くにある一点を目標位置として決定し、通信部204を通して、可動部111〜113へその目標位置を送信する(S306)。ここで、現在位置からどのくらい離れた点を目標位置とするかは、内部に持つ可動部111〜113の駆動能力情報から、現在位置から1ミリ秒以内に到達可能な位置を選んで決定する。例えば、図4の点402が現在位置である点400から1ミリ秒以内に到達可能な点であるとすると、点402のような点を目標位置として決定する。
その後、目標位置生成部201は、動作モード切替部203から動作モードの変更指示があったか否かを判定する(S307)。そして、変更指示がない場合(S307でNO)は、S302に戻り、加工モードを継続する。このように、動作モード切替部203から動作モードの変更指示がない限り、目標位置生成部201は、S302〜S307を1ミリ秒の周期で繰り返す。
一方、S307において、動作モード切替部203から動作モードの変更指示があった場合(S307でYES)、目標位置生成部201は、動作モードを退避モードに変更する(S308)。これより以後の処理では加工対象物120へ向かう軌道では動作しないため、見かけ上、ロボット110に異常が生じたため加工作業を緊急停止したことになる。
目標位置生成部201は、動作モードが退避モードに変更されると、動作モード切替部203から通信に障害が生じた可動部の識別情報を取得し(S309)、予備目標位置生成部202から退避位置を取得する(S310)。そして、予備目標位置生成部202から待ち時間を取得し、その時間だけ待つ(S311)。なお、待ち時間の間、可動部111〜113のうち通信可能な可動部に対しては、目標位置として、現在位置が繰り返し送信される。これは、まだ通信可能な可動部において、ロボット制御部100との通信に障害が生じたと誤判定されてしまうことを防止するためである。待ち時間の経過後、処理はS302へ進む。そして、この場合、動作モードは退避モードであるため(S302でNO)、処理はS321へ進む。
退避モードでは、可動部111〜113のうち、通信可能な可動部から現在位置の情報を取得する(S321)。なお、この場合、一部の可動部111〜113としか通信できない状態であるため、一部の軸成分についての現在位置の情報が欠落する。そして、目標位置生成部201は、その欠落した軸成分については、代わりに予備目標位置生成部202から情報を取得する(S321)。
続いて、目標位置生成部201は、カメラ101から入力される映像情報から、周辺装置130の位置を検出し(S322)、現在位置から退避位置までの軌道を生成する(S323)。例えば図4において、この時点での現在位置が点403、予備目標位置生成部202から取得した退避位置が点404であった場合、生成する軌道は412のようになる。
そして、目標位置生成部201は、S323で決定した軌道上に存在し、現在位置の近くにある一点を目標位置として、通信部204を通して通信可能な可動部に送信する(S324)。ここで、現在位置からどのくらい離れた点を目標位置とするかは、S306での処理と同様に、内部に保持する可動部111〜113の駆動能力情報から、現在位置から1ミリ秒以内に到達可能な位置を目標位置とする。そして、現在位置と退避位置を比較して退避位置に到達したか否かのチェックを行う(S325)。退避位置に到達していれば終了し、そうでなければS302に戻る。
(予備目標位置生成部の動作)
続いて、図5および図6を用いて予備目標位置生成部202の動作を詳細に説明する。図5は、予備目標位置生成部202の動作フローを表す図である。図6は、予備目標位置生成部202が生成する予備目標位置を説明する図である。
ロボット制御システム起動時や障害の修復が終了すると、予備目標位置生成部202は、まず、動作モードを加工モードに設定する(S501)。そして、現在の動作モードが加工モードであるか退避モードであるかの判定を行う(S502)。動作モードが加工モードである場合(S502でYES)、S503〜S511の動作を実行する。一方、動作モードが退避モードである場合(S502でNO)、S521の動作を実行する。以下では、まず、加工モードであった場合(S502でYES)について説明する。
加工モードでは、予備目標位置生成部202は、通信部204を介して、可動部111〜113からエンドエフェクタ114の現在位置を取得する(S503)。また、予備目標位置生成部202は、カメラ101から入力される映像情報を解析し、周辺装置130の位置を検出する(S504)。続いて、予備目標位置生成部202は、可動部111〜113ごとに、通信に障害が生じた場合の退避位置と予備目標位置とを決定する(S505)。
具体的には、例えば、まずX軸方向の移動を行う可動部111との通信に障害が生じた場合について、退避位置と予備目標位置とが指定される。ここで、退避位置は、例えば、周辺装置130から十分に離れた領域内に存在し、かつ現在位置からX軸方向の移動の後に、その他の軸、すなわちY軸とZ軸方向の移動を行って到達可能な点として指定される。例えば、図6において、点400が現在位置、領域620が周辺装置130から十分に離れた領域であるとする。このとき、エンドエフェクタ114を、現在位置である点400からX軸方向に点403まで移動させれば、その後Y軸方向に移動させることで領域620内の点404に到達可能である。したがって、このような点404及び点403を、可動部111用の退避位置及び予備目標位置とする。可動部111〜113がそれぞれ予備目標位置を保持することにより、可動部111〜113は、ロボット制御部100との間の通信が途絶した場合でも、エンドエフェクタ114をその予備目標位置へ移動させることができるようになる。
なお、点404と点403は、この二点を結ぶ軌道412と周辺装置130とが、少なくとも距離630だけ離れるように選択される。距離630は、ロボット110が有限の大きさを持つことと軌道412上を移動中の周辺装置130の位置の変化とを考慮して、例えば、予備目標位置生成部202が内部に持つロボット110の外形情報と周辺装置130のX軸方向の移動速度とから算出される。周辺装置130のX軸方向の移動速度は、1ミリ秒毎に行う解析の過去の結果を保持しておくことで求めることができる。
X軸方向の移動を行う可動部111について退避位置と予備目標位置を指定すると、続いて、Y軸方向の移動を行う可動部112との間の通信に障害が発生した場合の退避位置と予備目標位置を同様の考え方で指定する。例えば、図6において、現在位置である点400から、エンドエフェクタ114をY軸方向に点603まで移動させ、その後X軸方向に移動させることで領域620内の点604に到達させることができる。したがって可動部112用の退避位置は点604、予備目標位置は点603とする。Z軸方向の移動を行う可動部113についても、同様に退避位置と予備目標位置とを指定する。このように、退避位置と予備目標位置とは、可動部ごとに異なる位置であってもよい。
図5に戻り、予備目標位置生成部202は、通信部204を介して、S505で決定した予備目標位置を可動部111〜113へ送信する(S506)。図6の例では、X軸方向の移動を行う可動部111には点403を、Y軸方向の移動を行う可動部112には点603を予備目標位置として送信する。
続いて、予備目標位置生成部202は、動作モード切替部203から動作モードの変更指示があったか否かを判断する(S507)。そして、変更指示がない場合(S507でNO)、S502に戻り加工モードを継続する。動作モード切替部203から動作モードの変更指示がない限り、S502〜S507を1ミリ秒の周期で繰り返す。一方、動作モード切替部203から動作モードの変更指示があった場合(S507でYES)、予備目標位置生成部202は、動作モードを退避モードに変更する(S508)。
予備目標位置生成部202は退避モードでの動作を開始すると、動作モード切替部203から通信に障害が発生した可動部の識別情報を取得する(S509)。そして、通信に障害が発生した可動部について、S505で決定した退避位置を目標位置生成部201に出力する(S510)。例えば可動部111との間の通信に障害が発生した場合は点404を、可動部112との間の通信に障害が発生した場合は点604を目標位置生成部201に出力する。そして、通信に障害が発生した可動部が予備目標位置に到達するまでに要する所要時間を、目標位置生成部201に待ち時間として指示する(S511)。例えば、可動部111との間の通信に障害が発生した場合は、図6の現在位置である点400と予備目標位置である点403の間の距離610を可動部111が移動するのに必要な時間か、それより長い時間が待ち時間として指定される。この所要時間は、内部に持つ可動部111〜113の駆動能力の情報と、現在位置から予備目標位置までの距離から算出することができる。
その後、処理はS502へ戻る。そして、動作モードが退避モードであるため(S502でNO)、予備目標位置生成部202は、目標位置生成部201に対して、通信に障害が発生した可動部についての予備目標位置を出力する(S521)。例えば、可動部111との間の通信に障害が発生した場合は点403を出力する。すなわち、所要時間が経過後に可動部111が移動したであろう位置を現在位置として、目標位置生成部201へ通知する。
(ロボット制御部及びロボットの動作)
ここで、ロボット110が加工モードで動作中に図4の現在位置である点400において、図2の伝送路220上の点221で断線した場合の、ロボット制御部100とロボット110の動作について説明する。
まず、断線する直前の周期の動作を説明する。ロボット制御部100の目標位置生成部201は、まだ断線を検出していないため加工モードで動作中である。S302〜S306を実行して、可動部111〜113に対して図4の点402を目標位置として送信する。また、予備目標位置生成部202も加工モードで動作中のため、S502〜S506を実行する。この結果、可動部111に対しては点403が、可動部112に対しては点603が予備目標位置として送信される。この時点で、可動部111と可動部112の目標位置保持部212には点402が、可動部111の予備目標位置保持部213には点403が、可動部112の予備目標位置保持部213には点603が、それぞれ格納される。 ここで伝送路220上の点221で断線が発生したとする。このとき、可動部111と112は、それぞれが現在位置検出部218で取得した現在位置のX軸成分とY軸成分を送信する。しかし、点221で伝送路220が断線しているため、可動部112から送信されたY軸成分はロボット制御部100に届くが、可動部111から送信されたX軸成分は届かない。したがって、動作モード切替部203において、可動部111の識別子が付加されたデータ、すなわち可動部111からのデータが受信できないことが検出される。そこで動作モード切替部203は、目標位置生成部201と予備目標位置生成部202に動作モード変更指示を出力する。
一方、可動部111の目標位置切替部214においても、ロボット制御部100からデータが届かないことが検出される。これにより可動部111では、スイッチ215が予備目標位置保持部213側に設定され、アクチュエータ制御部216には、目標位置として点403が設定される。これにより可動部111によるエンドエフェクタ114の点403への移動が開始される。
ロボット制御部100においては、予備目標位置生成部202は、S507で動作モード変更指示を検出し、S508で動作モードを退避モードとする。さらにS509で通信に障害が生じた相手は可動部111であることを示す情報を取得し、S510で目標位置生成部201に退避位置である点404を出力する。S511では可動部111が現在位置である点400から予備目標位置である点403に移動するまでの待ち時間を目標位置生成部201に出力する。
目標位置生成部201は、S307で動作モード変更指示を検出し、S308で動作モードを退避モードとする。さらにS309でで通信に障害が発生した相手が可動部111であることを示す情報を取得し、S310では予備目標位置生成部202から退避位置である点404を取得する。S310では、予備目標位置生成部202に指示された時間だけ待機し、可動部111によりエンドエフェクタ114が予備目標位置である点403へ移動完了するまで待つ。
予備目標位置生成部202により指定された時間が経過すると、エンドエフェクタ114は点403に到達することとなる。すると、目標位置生成部201は、S321において、通信可能な可動部112と可動部113から現在位置、すなわち点403のY軸成分とZ軸成分とを取得する。また、X軸成分については、予備目標位置生成部202から点403のX軸成分を取得する。したがって、可動部111との通信に障害が発生しているものの、目標位置生成部201は、点403のX軸、Y軸、Z軸全ての成分を得て、現在位置は点403であることを認識することが出来る。
現在位置である点403から退避位置である点404までは、X軸方向の移動を行わずに到達可能である。したがって、可動部111との通信に障害が発生しても、目標位置生成部201は、S322〜S325を実行することにより、エンドエフェクタ114を退避位置である点404に退避させることができる。このように、ロボット110とロボット制御部100とを結ぶ伝送路220上の点221で、加工モードで動作中に断線が発生した場合にも、エンドエフェクタ114を、図4の現在位置である点400から退避位置である点404へ移動させることができる。
これにより、内部で断線が生じたロボット110について、メンテナンス可能な状態を素早く作り出すことができる。そして、このため、メンテナンスに必要なコストを低減することができる。また、内部で断線が生じたロボット110を作業エリア内から自動的に速やかに退避させることができるので、同じ作業エリア内で動作する周辺装置130の動作の障害となったり衝突したりする可能性を低減することができる。
さらに、本実施形態における周辺装置130に代わって、ロボット110と同じ作業エリアで作業を行う作業員が存在する場合にも、本実施形態と同様の構成を適用することができる。この場合、ロボット制御部100とロボット110の一部の可動部との間で通信ができなくなったとしても、作業員に接触することなくロボット110を退避位置に移動させることができる。
本実施形態では、可動部111〜113は、エンドエフェクタ114の先端をそれぞれX軸、Y軸、Z軸方向に水平移動させるものだったが、簡単な演算により、関節を曲げる動作を行うような可動部で構成されるロボットにも適用可能である。すなわち、直交座標系以外の座標系に基づいて動作する可動部を有するロボットにも同様の技術を適用することが可能である。例えば、3つの可動部を含むロボットにおいて、1つの可動部との間の通信が不能となった場合に、残りの2つの可動部のみを動作させることにより退避位置へ移動させることができる位置を、当該1つの可動部の予備目標位置とすることができる。
また本実施形態では、ロボット制御部100は周辺装置130の位置を映像情報に基づいて取得していたが、ロボット制御部100と周辺装置130をネットワークで接続して、通信によって取得してもよい。この構成によれば、ロボット制御部100は、容易かつ正確に周辺装置130の位置を把握することが可能となる。
<<その他の実施形態>>
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

Claims (13)

  1. 複数の可動部を含むロボットと、通信を介して当該複数の可動部を制御して、前記ロボットの所定の部位を移動させる制御手段とを備えるロボット制御システムであって、
    前記制御手段は、
    前記通信に障害がない場合に前記複数の可動部が移動すべき位置を示す目標位置と、前記通信に障害が発生した場合に前記複数の可動部が移動すべき位置を示す予備目標位置とを含む情報を、前記複数の可動部のそれぞれに送信する送信手段、
    を備え、
    前記複数の可動部のそれぞれは、
    前記情報を受信する受信手段と、
    前記制御手段との間の通信に障害が発生したかの判定を行う判定手段と、
    前記通信に障害があるかの判定結果に基づいて、前記目標位置と前記予備目標位置とから、可動部が移動すべき位置を選択して設定する設定手段と、
    を備えることを特徴とするロボット制御システム。
  2. 前記予備目標位置は、前記複数の可動部のうち1つがその予備目標位置へ移動した後、当該1つの可動部を移動させずに他の可動部を移動させることにより前記ロボットの前記所定の部位を指定の位置に移動させることが可能となる位置である、
    ことを特徴とする請求項1に記載のロボット制御システム。
  3. 前記制御手段は、
    前記複数の可動部ごとに前記指定の位置と前記予備目標位置とを決定する決定手段をさらに備えることを特徴とする請求項2に記載のロボット制御システム。
  4. 前記制御手段は、
    前記複数の可動部のそれぞれとの間の通信を監視する監視手段と、
    前記複数の可動部のうち1つとの間の通信に障害が発生した場合、当該1つの可動部に対して決定された前記指定の位置および前記予備目標位置と、他の可動部の現在位置とに基づいて、当該他の可動部が移動すべき位置を前記目標位置として生成する生成手段と、
    をさらに備えることを特徴とする請求項3に記載のロボット制御システム。
  5. 前記送信手段は、前記障害が発生してから指定の時間だけ経過後に、前記生成手段で生成した前記目標位置を前記他の可動部へ送信することを特徴とする請求項4に記載のロボット制御システム。
  6. 前記指定の時間は、前記制御手段との間の通信に障害が発生した可動部が、前記予備目標位置へ移動するのに要する時間か、それより長い時間として指定されることを特徴とする請求項5に記載のロボット制御システム。
  7. 前記送信手段は、所定の周期で前記情報を送信し、
    前記判定手段は、当該所定の周期で当該情報を受信しなかった場合、通信に障害が発生したと判定する、
    ことを特徴とする請求項1から6のいずれか1項に記載のロボット制御システム。
  8. 通信を介してロボットの複数の可動部を制御して、当該ロボットの所定の部位を移動させるロボット制御システムにおける制御装置であって、
    前記通信に障害がない場合に前記複数の可動部が移動すべき位置を示す目標位置と、前記通信に障害が発生した場合に前記複数の可動部が移動すべき位置を示す予備目標位置とを含む情報を、前記複数の可動部のそれぞれに送信する送信手段、
    を備えることを特徴とする制御装置。
  9. 通信を介した制御により複数の可動部を含むロボットの所定の部位を移動させるロボット制御システムにおける前記可動部の制御装置であって、
    前記通信に障害がない場合に前記可動部が移動すべき位置を示す目標位置と、前記通信に障害が発生した場合に前記可動部が移動すべき位置を示す予備目標位置とを含む情報を取得する取得手段と、
    前記通信に障害が発生したかの判定を行う判定手段と、
    前記通信に障害があるかの判定結果に基づいて、前記目標位置と前記予備目標位置とから、前記可動部が移動すべき位置を選択して設定する設定手段と、
    を備えることを特徴とする制御装置。
  10. 複数の可動部を含むロボットと、通信を介して当該複数の可動部を制御して、前記ロボットの所定の部位を移動させる制御手段とを備えるロボット制御システムにおける制御方法であって、
    前記制御手段において、
    送信手段が、前記通信に障害がない場合に前記複数の可動部が移動すべき位置を示す目標位置と、前記通信に障害が発生した場合に前記複数の可動部が移動すべき位置を示す予備目標位置とを含む情報を、前記複数の可動部のそれぞれに送信する送信工程と、
    前記複数の可動部のそれぞれにおいて、
    受信手段が、前記情報を受信する受信工程と、
    判定手段が、前記制御手段との間の通信に障害が発生したかの判定を行う判定工程と、
    設定手段が、前記通信に障害があるかの判定結果に基づいて、前記目標位置と前記予備目標位置とから、可動部が移動すべき位置を選択して設定する設定工程と、
    を有することを特徴とする制御方法。
  11. 通信を介して複数の可動部を制御して、ロボットの所定の部位を移動させるロボット制御システムの制御装置における制御方法であって、
    送信手段が、前記通信に障害がない場合に前記複数の可動部が移動すべき位置を示す目標位置と、前記通信に障害が発生した場合に前記複数の可動部が移動すべき位置を示す予備目標位置とを含む情報を、前記複数の可動部のそれぞれに送信する送信工程、
    を有することを特徴とする制御方法。
  12. 通信を介した制御により複数の可動部を含むロボットの所定の部位を移動させるロボット制御システムにおける前記可動部の制御方法であって、
    取得手段が、前記通信に障害がない場合に前記可動部が移動すべき位置を示す目標位置と、前記通信に障害が発生した場合に前記可動部が移動すべき位置を示す予備目標位置とを含む情報を取得する取得工程と、
    判定手段が、前記通信に障害が発生したかの判定を行う判定工程と、
    設定手段が、前記通信に障害があるかの判定結果に基づいて、前記目標位置と前記予備目標位置とから、前記可動部が移動すべき位置を選択して設定する設定工程と、
    を有することを特徴とする制御方法。
  13. コンピュータを請求項8又は9に記載の制御装置が備える各手段として機能させるためのプログラム。
JP2011271689A 2011-12-12 2011-12-12 ロボット制御システム、制御装置、制御方法、及びプログラム Pending JP2013121644A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011271689A JP2013121644A (ja) 2011-12-12 2011-12-12 ロボット制御システム、制御装置、制御方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011271689A JP2013121644A (ja) 2011-12-12 2011-12-12 ロボット制御システム、制御装置、制御方法、及びプログラム

Publications (1)

Publication Number Publication Date
JP2013121644A true JP2013121644A (ja) 2013-06-20

Family

ID=48773939

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011271689A Pending JP2013121644A (ja) 2011-12-12 2011-12-12 ロボット制御システム、制御装置、制御方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP2013121644A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020188630A1 (ja) * 2019-03-15 2020-09-24 オムロン株式会社 ロボット制御装置、方法、及びプログラム
CN112714683B (zh) * 2019-03-15 2024-06-25 欧姆龙株式会社 机器人控制装置、方法以及程序

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020188630A1 (ja) * 2019-03-15 2020-09-24 オムロン株式会社 ロボット制御装置、方法、及びプログラム
CN112714683A (zh) * 2019-03-15 2021-04-27 欧姆龙株式会社 机器人控制装置、方法以及程序
JPWO2020188630A1 (ja) * 2019-03-15 2021-10-14 オムロン株式会社 ロボット制御装置、方法、及びプログラム
JP7078174B2 (ja) 2019-03-15 2022-05-31 オムロン株式会社 ロボット制御装置、方法、及びプログラム
EP3939752A4 (en) * 2019-03-15 2022-10-26 OMRON Corporation ROBOT CONTROL DEVICE, METHOD AND PROGRAM
US11981032B2 (en) 2019-03-15 2024-05-14 Omron Corporation Robot control device, method and program for a recovery after an obstruction
CN112714683B (zh) * 2019-03-15 2024-06-25 欧姆龙株式会社 机器人控制装置、方法以及程序

Similar Documents

Publication Publication Date Title
US9701023B2 (en) Teleoperation of machines having at least one actuated mechanism and one machine controller comprising a program code including instructions for transferring control of the machine from said controller to a remote control station
US9898815B2 (en) Fault diagnostic device of robot system for judging fault by camera image
EP2925493B1 (en) Teleoperation of machines having at least one actuated mechanism and a fault detection and recovery system
US9134722B2 (en) Robot controlling apparatus and robot controlling method
US7129664B2 (en) Robot controller
US9254567B2 (en) System for commanding a robot
JP5892132B2 (ja) 制御装置及びロボットシステム
JP2016179510A (ja) 物または人との接触を検知する機能を有するロボット制御装置
JP2019217557A (ja) 遠隔操作方法及び遠隔操作システム
KR20120104939A (ko) 로봇, 및 로봇을 작동시키기 위한 방법
KR20170100028A (ko) 적어도 2개의 매니퓰레이터의 협력된 제어를 위한 매니퓰레이터 시스템
WO2018066602A1 (ja) ロボットシステム及びその運転方法
CN109789555B (zh) 机器人系统及其运转方法
JP6858521B2 (ja) ロボット復旧支援装置及びそれを備えるロボットシステム
JPH07271415A (ja) 協調ロボット制御方法
JP2013121644A (ja) ロボット制御システム、制御装置、制御方法、及びプログラム
JP2010221226A (ja) アーク溶接システムおよびアーク溶接方法
JP2017104939A (ja) 制御装置、ロボットおよびロボットシステム
US11345036B2 (en) Robot control device, robot control system, and robot control method
JP7251814B2 (ja) ロボット制御システム、ロボット制御方法、及びプログラム
US12005568B2 (en) Control device, control method, and program
US11755003B2 (en) Autonomous task management industrial robot
KR102109176B1 (ko) 제어기 일체형 포터블 용접로봇 시스템
WO2022087859A1 (en) Method for assembling an opreating member and an adapting member by a robot, robot, and controller
WO2023282032A1 (ja) ロボットビジョンシステム