JP5022868B2 - 情報処理装置、情報処理方法 - Google Patents

情報処理装置、情報処理方法 Download PDF

Info

Publication number
JP5022868B2
JP5022868B2 JP2007298583A JP2007298583A JP5022868B2 JP 5022868 B2 JP5022868 B2 JP 5022868B2 JP 2007298583 A JP2007298583 A JP 2007298583A JP 2007298583 A JP2007298583 A JP 2007298583A JP 5022868 B2 JP5022868 B2 JP 5022868B2
Authority
JP
Japan
Prior art keywords
robot
coordinate system
instruction
movement
movement vector
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2007298583A
Other languages
English (en)
Other versions
JP2009119579A (ja
Inventor
一彦 小林
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 JP2007298583A priority Critical patent/JP5022868B2/ja
Publication of JP2009119579A publication Critical patent/JP2009119579A/ja
Application granted granted Critical
Publication of JP5022868B2 publication Critical patent/JP5022868B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Numerical Control (AREA)
  • Manipulator (AREA)

Description

本発明は、ロボットの動作教示における操作技術に関するものである。
ロボットの動作教示は、駆動部分の回転角度や移動方向に対応した複数のボタンもしくはスティックを有する操作盤を用いて動作指示を行う。
係る動作指示は、常にそれぞれの駆動部分が有する座標系における動作方向の指示が行われるため、作業者が現状のロボットの姿勢を確認して、それぞれの駆動部分の座標系に置き換えて指示することが必要となる。ここで、ロボットのコントローラが定める座標系をベース座標系と称する。
複数の駆動部分を有する機械として代表的なものに産業用ロボットがある。産業用ロボットでは、動作教示により指示した一連の動作を繰り返し実行させることができる。
産業用ロボットに対する動作教示の方法としては、ティーチングペンダントによるダイレクト教示方法、CADなどの作業対象のデータからロボットの位置・姿勢のデータを数値または数式で指示する方法がある。作業現場で搬送などと連動させて作業させる場合には、ダイレクト教示方法が一般的に用いられる。
教示を行う作業者が作業空間での移動方向とロボットの姿勢方向との関係を考慮して座標変換を行いながら教示するのは大変である。そこで、より直接的な移動方向指示を実現する方法として、ロボットを撮影した画像を用いて動作を指示する方法がある。
特許文献1には、次のようなロボットの教示装置が開示されている。即ち、ロボットのエンドエフェクタに装着されたカメラでワークの平面像を撮像し、その画像をタッチパネルセンサ付きのディスプレイに表示し、指または入力ペンを用いて現在の位置から目標の位置への移動指示をするロボットの教示装置が開示されている。
特許文献2には、ワークを撮影するカメラを装着した撮影用のロボットを用いて、自由な視点からワークを撮像し、撮像画像上において作業教示をする装置が開示されている。
特許文献3には、カメラの画像を表示する画面上で、ロボットの移動方向を画像面上から指示する装置が開示されている。
これらのロボットを撮影し、その画像上で動作教示を行う方法は、ロボットのある瞬間の撮像された画像に対する指示を2次元の画面上で指示することで、ロボットの姿勢に対する動作方向の変換を行わずに、作業者が直感的に指示を行える方法である。
特開平7―308878号公報 特開2001−60108号公報 特開2004−009209号公報 暦本 純一、「2次元マトリックスコードを利用した拡張現実感システムの構成手法」、インタラクティブシステムとソフトウェアIV、近代科学社、pp.199−208、Dec. 1996.
ロボットの現時点の姿勢における駆動部分の移動方向と、ロボットに正対して動作を指示する作業者の見ている身体座標系は常に異なっている。作業者は、ロボットの姿勢を頭に思い描きながら座標変換を行って、適切に指示する必要がある。自由度の多い産業用ロボットでは、指示方向を間違いなく行えるようにするためには、ある程度の習熟が必要となる。
産業用ロボットの動作環境は、作業物体の搬送経路や工具との位置関係が用途により変化するため、現場での調整が不可欠である。ロボット全体が、他の設置物との接触や干渉がないように動作指示を行うためには、操作者はあらゆる方向からロボットを観察しなくてはならない。
ロボットと対象物体との干渉を様々な方向から観察しながら動作指示を行う場合、操作者とロボットとの相対位置が変化する。さらにロボットも作業に伴い姿勢を大きく変化させるため、操作者がロボットに教示する移動方向は、常にロボットの姿勢を頭に把握しながら行わなければならない。しかし、すべての姿勢の状態を把握することは難しい。そのため、作業者は自分が想定している方向へ操作入力を少しだけ与えて、そのときのロボットの姿勢の変化を確認し、操作入力を修正しながら動作指示を行うことが良く行われる。このような動作指示は、インチング動作と呼ばれている。
しかし、インチング動作はモータへの負担ともなり、できるだけ避けたい。また、ロボットの位置姿勢によっては、教示作業中に作業者へ危害を与える動作になることもあり、注意が必要である。
ティーチングペンダントによる産業用ロボットへの動作指示は、操作者の操作体系の習熟の程度により、必要な作業時間にも差が出てくる。ロボットの姿勢を頭に描きながら、動作指示への座標変換を行わなければならないこと自体が難しく、それを簡易にするための様々な提案がなされている。
従来技術として上述した、ロボットを撮像した画像を用いた動作教示は、画像上の2次元の方向への指示を行うことで、ロボットの姿勢を意識する必要がない方法である。しかし、実際のロボットの動作に調整が必要な現場においては、様々な方向からロボットとその他の状態を確認する必要がある。姿勢指示の度に撮像して画面上で指示を繰り返すことも可能であるが、動作を見ながら逐次調整する用途としては作業が煩雑になるため、効率的な教示作業が行えない。
従って、ロボットの撮像画像の2次元画面上での動作指示は入力自体は簡便になっても、全体の作業効率が良くなるとは言えない。
さらに、特許文献2で開示されているワークを撮影するロボットを別途用意し、そのロボットの撮像画像を用いて動作指示を行う方法は、ワークを撮影するロボットの稼働範囲にも限界がある。また、そのロボットの動作と教示対象のロボットとの干渉も実際には発生する場合があるため、自由な視点での観察は難しい。
このように、ダイレクト教示は実際のロボットの動作を調整するのに必要であるにもかかわらず、間接的な指示方法の他は、ダイレクト教示自体を効率的に行うことができる方法が無い。そのため、産業用ロボットを利用している多くの現場では、操作者の習熟が必要とされ、動作指示に多くの時間が費やされている。
本発明は、以上の問題に鑑みて成されたものであり、ロボットの動作教示において、操作者にとって直感的に指示が行える技術を提供することを目的とする。
本発明の目的を達成する為に、例えば、本発明の情報処理装置は以下の構成を備える。
即ち、ロボットにおける可動部分の移動方向を制御するための情報処理装置であって、
前記制御を行うためにユーザが操作する少なくともボタンまたはレバーを備える操作盤から、ロボットの可動部分を移動させる方向を示す方向指示を取得する手段と、
前記ユーザの視点の位置を取得する手段と、
前記取得したユーザの視点の位置から前記方向指示が示す方向への移動ベクトルを、前記ロボットを基準として定義される座標系における移動ベクトルに変換する変換手段と、
前記変換手段による変換後の移動ベクトルが示す方向に、前記ロボットの可動部分を移動させる為の指示を、前記ロボットに対して出力する手段と
を備えることを特徴とする。
本発明の構成によれば、ロボットの動作教示を、操作者にとって直感的に指示が行うことができる。本発明は、作業者の身体座標系での動作指示をロボットの動作を既定する座標系に変換させる為の技術である。操作盤に設定されている方向は、作業者とロボットの相対位置関係に応じて変換される。従来作業者が頭の中にで描いていたロボットの現状の姿勢からの座標変換を本提案の装置・方法が代替することで、教示作業負荷を減らし効率化させることができる。
以下、添付図面を参照し、本発明の好適な実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載の構成の具体的な実施例の1つである。
[第1の実施形態]
図1は、駆動制御可能な可動部分を1以上有する産業用ロボットと、係る産業用ロボットの可動部分の位置や姿勢の操作制御を行うための操作装置(情報処理装置)とで構成されている、本実施形態に係るシステムの機能構成例を示すブロック図である。
図1において、500は、上記産業用ロボットで、上記の通り、外部から駆動制御可能な1以上の可動部分を有する。100は、係る産業用ロボット500が有する可動部分の位置姿勢の制御(移動方向の制御)を行う為の操作装置である。以下では、産業用ロボット500を単に「ロボット500」と呼称する。
ここで、可動部分の駆動制御指示(動作指示)は、操作者(ユーザ)が手に持っている後述の操作盤に備わっているボタンやレバーをユーザが操作することで、操作装置100に入力することができる。係る操作盤は、操作装置100に備わっている操作盤接続口201に接続される。操作装置100に対する操作盤の接続形態は、有線/無線の何れでも良い。
操作入力部200には、操作盤に備わっているボタンやレバーのそれぞれの動作機能が登録されている。操作盤側でボタンやレバーが操作されると、ボタンが押下されたことを示す信号や、レバーを傾倒した方向を示す信号などが、上記動作指示として操作盤接続口201を介して操作入力部200に入力される。操作入力部200は、操作盤接続口201を介して操作盤から受けた信号に基づいて、対応する動作機能を特定し、特定した動作機能を実行させるための指示信号を、操作座標変換部400に送出する。
一方、操作盤を手に持っているユーザの頭部の位置姿勢は、1以上のセンサを用いて計測される。係るセンサは、計測センサ接続口301に接続されている。センサによる計測結果を示す信号は、この計測センサ接続口301を介して操作者位置計測部300に入力される。
操作者位置計測部300は、計測センサ接続口301を介してセンサから受けた信号に基づいて、操作者の頭部の位置(視点の位置)を推定する(必要に応じて姿勢も推定する)。そして操作者位置計測部300は、推定した位置を、後述するワークスペース座標系における位置に変換する。ワークスペースは、ロボットとワークが干渉する領域を示しており、ワークスペース座標系としては、ワークに対してロボットが操作する範囲の中心を座標系原点としてとることができる。そして、変換した位置を示す信号を、操作座標変換部400に送出する。
操作座標変換部400は、操作入力部200から受けた信号と、操作者位置計測部300から受けた信号とに基づいて後述の処理を行うことで、操作者が操作盤を用いて移動指示した対象の可動部分の移動方向を、ロボット500を基準とする座標系に変換する。そして、変換した移動方向への移動指示を、ロボット制御接続口401を介してロボット500に送出する。
従って、ロボット500は、ロボット制御接続口401を介して操作座標変換部400から受けた移動指示に基づいて、移動指示された対象の可動部分を可動させる。なお、本実施形態では、ロボット500の可動部分の移動制御を行うためには、このように、ロボット500を基準とする座標系における移動指示を行うか、移動先の位置を数値で指定することで行う。即ち、本実施形態では、ロボット500は、数値制御型のロボットである。
また、本実施形態では、操作装置100は、操作盤、ロボット500、センサ、とは別個の装置であり、操作装置100に操作盤とロボット500とセンサとを接続する構成としているが、以下の説明は係る構成に限定するものではない。例えば、装置の簡便性などを考慮して、操作装置100が操作盤に内蔵された構成であっても良いし、操作者の頭部の位置姿勢を計測するセンサと操作装置100とが隣接していても良い。また、係るセンサが操作装置100に内蔵されていても良い。
即ち、操作装置100の構成は、以下のような構成を基本とするのであれば、図1に示した構成には限定しない。即ち、操作者とロボットとの相対位置を取得する構成、可動部分の動作指示を取得する構成、係る動作指示からロボットを基準とする座標系における動作指示に変換する構成、変換後の移動指示をロボットに対して送出する構成、である。
また、操作盤、ロボット500、センサ、操作装置100のうち、どの装置がどの装置に内蔵されていても、それぞれの装置間で通信可能であれば良い。
なお、操作者とロボットとの相対位置は、操作者とロボットとで同じ座標系における位置を得ることができれば、後はそれぞれの位置間の差分を相対位置として求めることができる。
図2は、本実施形態に係るシステムの外観例を示す図である。
操作者299は上述の通り、ロボット500に対する動作指示を操作装置100に入力するための操作盤210を手に把持している、更に、操作者299の頭部には、係る頭部の位置を検出するため赤外線LED320が取り付けられている。係る赤外線LED320は、計測センサ接続口301を介して操作装置100に接続されている赤外線カメラ310により撮像することで、操作者299の頭部の位置を検出するために用いられるものである。
赤外線カメラ310は、レンズを通してCCD若しくはCMOS等の光・電気変換素子により、発光中の赤外線LED320を撮像する。赤外領域に感度があるビデオカメラのレンズの前に可視光吸収フィルタを設置することで、同様な構成を実現することができる。
赤外線カメラ310によって検出される赤外線LED320の3次元位置は予め校正しておく必要がある。校正の手続きとしては、例えば次のようなものがある。即ち、ロボットを基準とする座標系上における校正参照位置に赤外線LED320を設置したときの、赤外線カメラ310の撮像画面上における輝度が高い領域を検出し、検出した領域の面積と重心位置を算出する。可視光はフィルタにより吸収されているため、輝度が高い領域は、赤外線LED320が映っている領域と解釈することができる。従って、輝度が高い領域の重心座標は、赤外線LED320の座標位置として検出する。また、輝度が高い領域の面積は、赤外線LED320と赤外線カメラ310との距離を表す。なお、校正参照位置を離散的に設定した場合は、校正参照位置間の区間内を線形補間により補間する。
また、本実施形態では、用いる赤外線カメラ310の台数を1台とするが、これに限定するものではない。即ち、2台以上の赤外線カメラ310を用いることで、写真計測分野で一般的なステレオ計測法を用いることができ、より高精度に赤外線LED320の3次元位置を計測することができる。
また、操作者299の頭部の位置を取得するための構成にはこれ以外にも様々なものが考えられ、本実施形態に適宜適用することができる。例えば、超音波の伝播時間の差を用いた距離計測を応用した3次元計測や、磁界中における磁場の強さを検出する3次元計測がある。また、非特許文献1に開示されているように、画像から特徴的な要素を検出し、その検出位置と、この要素の3次元位置と、の対応に基づいた3次元計測もある。
つまり、操作者299とロボット500との相対的な位置関係を求めることができればよいので、そのための構成には、既存の3次元位置検出技術を用いることができる。ただし、ロボット500は、アクチュエータとしてモータを用いているため、磁場や超音波へのノイズの混入が懸念される。そのため、光学式の計測方法を用いることが好ましい。
次に、操作盤210について説明する。図3は、操作盤210の構成例を示す図である。なお、図3には、本実施形態で用いる最低限のボタン、レバーを示しており、これ以外のボタン、レバーを操作盤210に備えるようにしても良い。
操作盤210には、ロボット操作装置接続用ケーブル220が備わっており、係るロボット操作装置接続用ケーブル220は、操作装置100が有する操作盤接続口201に接続されている。従って、操作盤210に備わっている後述するボタンやレバーを操作者299が操作した場合には、係る操作に対応する動作指示を示す信号が操作盤210からロボット操作装置接続用ケーブル220、操作盤接続口201を介して操作装置100に入力される。
一般的な産業用ロボットのティーチングペンダントは、動作教示におけるプログラムの指示を行うため、多くのボタンを有する。図3では、姿勢登録ボタン215、姿勢再生ボタン216、緊急停止ボタン214、方向指示入力スティック211、上方移動ボタン212、下方移動ボタン213が、操作盤210に設けられている。
姿勢登録ボタン215は、ロボット500の現時点での姿勢(各可動部位の姿勢)の登録を、操作装置100に対して指示するためのボタンである。姿勢再生ボタン216は、過去に姿勢登録ボタン215を押下して登録したそれぞれの姿勢を順次再生することで、ロボット500の各可動部位を、再生した姿勢に一致させるべく制御する為の指示を、操作装置100に対して入力するためのボタンである。
ここで、ロボット500が図2に示したようなアームのロボットである場合、姿勢登録ボタン215を押下する毎に、操作盤210は、押下した時点での各アームの姿勢の登録を、操作装置100に対して指示する。また、姿勢再生ボタン216を押下すると、操作盤210は、過去に登録した各姿勢をその登録順に操作装置100に再生させる為の指示を操作装置100に対して指示する。なお、それぞれの姿勢を再生することで、操作装置100は、ロボット500の各可動部位を、再生した姿勢に一致させるべく、可動部分の動作制御を行う。
ここで、ロボット500の手先部に接続されるものとしては、物体を把持するためのハンドや、ネジやボルトを締結するドライバ、さらには溶接のアークホルダなどが挙げられる。このようにロボット500の手先部に接続されるものはエンドエフェクタと呼ばれ、エンドエフェクタを接続するロボット500の手先部はメカニカルインターフェース部と呼ぶ。
ここで、エンドエフェクタの基準座標は、ワークとの作用点を想定した座標系とする。例えば、把持を行う2つ指のエフェクタであれば、物体と指との接触点間の中点を座標系とすることができる。エンドエフェクタは、ロボットのメカニカルインターフェースに設置されているので、ロボットの手先位置を制御することで、エンドエフェクタを移動させることができる。
方向指示入力スティック211は、エンドエフェクタ(メカニカルインターフェース部)の移動方向を指示するためのもので、奥・手前・右・左の4方向を、移動方向として指示することができる。エンドエフェクタの移動方向は、エンドエフェクタの基準座標を通る水平面での動きと、鉛直方向の動きに分解される。その水平面において、操作している人の奥方向・手前方向、そして右手方向、左手方向を指示するものとする。なお、方向指示入力スティック211を用いて指示する移動方向は、操作者299の頭部位置に常に依存することに注意されたい。また、方向指示入力スティック211はスティック形状のものに限定するものではなく、例えば、各方向に対応するボタンで構成しても良い。
方向指示入力スティック211による指示内容は、動作指示として操作装置100に送出される。
また、上方移動ボタン212を押下すると、エンドエフェクタ(メカニカルインターフェース部)の移動方向として、鉛直上向きを指示することができる。
また、下方移動ボタン213を押下すると、エンドエフェクタ(メカニカルインターフェース部)の移動方向として、鉛直下向きを指示することができる。
緊急停止ボタン214を押下すると、ロボット500に対してその動作を停止させるための指示を入力することができる。
上方移動ボタン212、下方移動ボタン213、緊急停止ボタン214による指示内容は、動作指示として操作装置100に送出される。
ここで、エンドエフェクタに対する移動方向指示は、操作者299の身体位置から観察されるロボット500に対して、右手方向、左手方向、奥行き方向、手前方向、鉛直上向き、鉛直下向き、で定義される8方向への動作指示が行えれば良い。そのため、スティックやボタンの形態、大きさ、色、接点条件等は、操作者299の動作入力作業が簡便に済む方が望ましいが、ここでは任意の形態で構わない。
次に、本実施形態で取り扱う様々な座標系について説明すると共に、係る座標系を用いた、ロボット500への動作指示について説明する。
図4は、本実施形態で取り扱う様々な座標系を示す図である。
先ず、ロボット500を基準とする座標系について説明する。ロボット500を基準とする座標系とは、例えば、ロボット500の据付面上におけるロボット500の位置を原点とし、係る原点で互いに直交する3軸をそれぞれ、X1軸、Y1軸、Z1軸とする座標系である。なお、Z1軸は、鉛直方向に沿った軸とする。以下では、ロボット500を基準とする座標系を「ベース座標系」と呼称する場合がある。ベース座標系は、ロボット500に対する動作指示を行う上で基準となる座標系である。また、ロボット500にはエンドエフェクタとして、物体を把持するハンド501が設けられている。ここで、ハンド501を基準とする座標系を設けるのであるが、係る座標系は、例えば、ハンド501の位置を原点とし、係る原点で互いに直交する3軸をそれぞれXm軸、Ym軸、Zm軸とする座標系である。以下では、ハンド501を基準する座標系を「メカニカルインターフェース座標系」と呼称する場合がある。
更には、ハンド501による把持対象としての現実物体499を配置する領域(ワークスペース)中にも座標系を設ける。例えば、ワークスペース中の1点を原点321とし、係る原点321から鉛直方向に延長する軸をZ2軸とし、更に、係る原点でZ2軸に直交する2軸(水平面内で直交する2軸)をそれぞれX2軸、Y2軸とする座標系を設ける。以下では係る座標系を「ワークスペース座標系」と呼称する場合がある。
作業対象にもよるが、なぞり作業のようにエンドエフェクタの位置指示が重要な場合は、メカニカルインターフェース座標系において指示することが良い。また、ワークに対してハンドの位置を調整する場合は、ワークとの干渉状態を確認しながら行うので、ワークスペース座標系で指示することが良いと思われる。ここでは、ワークの設置した付近に設定したワークスペース座標系での操作に関して説明する。
赤外線カメラ310は上述の通り、赤外線LED320を撮像する。操作装置100は、赤外線カメラ310による撮像画像に基づいて、ベース座標系における赤外線LED320の3次元位置(Xu,Yu,Zu)を求める。
本実施形態では、ロボット500の操作において、鉛直方向への動きを操作者299の位置に関係なく固定して操作する。一般に人の頭部の動きは、内耳の働きにより身体および頭部の傾斜角度を知覚することができる。そのため、人は、頭部を斜めに傾斜させた場合や前・後ろに反らせた場合でも、重力方向を正しく知覚することができるため、自分にとって上方というのは常に鉛直上方と一致することが知られている。
従って、ロボット500に対する動作指示を行う都度、操作者299の頭部の位置姿勢が変わっていても、操作者299の頭部の鉛直方向を重力軸と一致させることで、姿勢の変動による動作指示の誤差を抑えることができる。
図5は、方向指示入力スティック211、上方移動ボタン212、下方移動ボタン213のそれぞれが指示する移動方向と、それぞれの指示に応じた、ワークスペース座標系におけるハンド501(エンドエフェクタ)の移動方向と、を示す図である。
図5(a)は、方向指示入力スティック211、上方移動ボタン212、下方移動ボタン213のそれぞれによる移動方向指示を示す図である。
上方移動ボタン212を押下すると、鉛直上方へのハンド501の移動方向指示Bupが入力される。
一方、下方移動ボタン213を押下すると、鉛直下方へのハンド501の移動方向指示Bdownが入力される。
一方、方向指示入力スティック211を、紙面上方に傾倒すると、操作者299の正面向きに、ハンド501が離れていくような移動方向指示Bfarが入力される。
一方、方向指示入力スティック211を、紙面下方に傾倒すると、操作者299の正面向きに、ハンド501が近づいてくるような移動方向指示Bnearが入力される。
一方、方向指示入力スティック211を、紙面左方に傾倒すると、操作者299の左手側に、ハンド501が離れていくような移動方向指示Bleftが入力される。
一方、方向指示入力スティック211を、紙面右方に傾倒すると、操作者299の右手側に、ハンド501が離れていくような移動方向指示Brightが入力される。
図5(b)は、図5(a)に示した各移動方向指示に対応する、ハンド501のワークスペース座標系における移動方向を示す図である。ここで、操作者299は、ワークスペース座標系における原点を注視しているものとする。即ち、操作者299の頭部に装着している赤外線LED320の位置から、ワークスペース座標系における原点321に視線を向けているものとして考える。
なお、実際には操作者299の視線方向は、ロボット500のエンドエフェクタであったり、ワークの一部であったりする。ここでは、赤外線LED320が1つであるとしているので、頭部の姿勢については求めていないが、複数の赤外線LEDを用いるか、頭部の姿勢のみを検出するセンサを用いることで、姿勢を求めることも可能である。
上方移動ボタン212を押下することで鉛直上方への移動方向指示Bupが入力されると、エンドエフェクタの移動ベクトルは、鉛直上方への方向ベクトルΔd’upとなる。
一方、下方移動ボタン213を押下することで鉛直下方への移動方向指示Bdownが入力されると、エンドエフェクタの移動ベクトルは、鉛直下方への方向ベクトルΔd’downとなる。
一方、方向指示入力スティック211を紙面上方に傾倒すると、エンドエフェクタの移動ベクトルは、水平面内(X2−Y2平面内)で、ワークスペース座標系における赤外線LED320の位置から遠ざかる方向への移動ベクトルΔd’farとなる。
一方、方向指示入力スティック211を紙面下方に傾倒すると、エンドエフェクタの移動ベクトルは、水平面内(X2−Y2平面内)で、ワークスペース座標系における赤外線LED320の位置に近づく方向への移動ベクトルΔd’nearとなる。
一方、方向指示入力スティック211を紙面左方に傾倒すると、エンドエフェクタの移動ベクトルは、水平面内(X2−Y2平面内)でワークスペース座標系における赤外線LED320の位置から左手側にエンドエフェクタが離れる移動方向ベクトルとなる。係る移動ベクトルをΔd’leftと表す。
一方、方向指示入力スティック211を紙面右方に傾倒すると、エンドエフェクタの移動ベクトルは、水平面内(X2−Y2平面内)でワークスペース座標系における赤外線LED320の位置から右手側にエンドエフェクタが離れる移動方向ベクトルとなる。係る移動ベクトルをΔd’rightと表す。
ここで、各移動ベクトルを水平面内の動きに制限することで、構造物との干渉を容易に観察しながら指示を与えることができる。
また、図5(b)において、ワークスペース座標系における赤外線LED320の位置を(Xu’,Yu’,Zu’)とする。また、方向指示入力スティック211を傾倒することで移動するエンドエフェクタの単位時間あたりの移動量をkとする。
さらに、鉛直方向に対する移動をZ2軸に沿って固定すると、Δd’up、Δd’downはそれぞれ、ワークスペース座標系におけるZ2軸の上方、下方となる。
Figure 0005022868
ここで、Δd’left、Δd’rightは、視線方向ベクトルとZ2軸に対して垂直になるように設定する。Δd’left、Δd’rightは、視線方向ベクトルとZ2軸との外積ベクトルにより求める。
Figure 0005022868
ここで、Lは、ワークスペース座標系における原点321から、ワークスペース座標系における赤外線LED320の位置(Xu’,Yu’,Zu’)までの距離であり、以下のようにして計算される。
Figure 0005022868
係る距離Lは、視線方向ベクトルを正規化するために用いられる。
さらに、Δd’nearはワークスペース座標系における位置(Xu’,Yu’,0)からワークスペース座標系における原点321の位置に向かう方向における移動ベクトルで、Δd’farはΔd’nearとは逆の向きの移動ベクトルとなる。それぞれの移動ベクトルΔd’near、Δd’farは以下の式で表される。
Figure 0005022868
ただし、L2は、ワークスペース座標系における原点321の位置と、ワークスペース座標系における位置(Xu’,Yu’,0)との間の距離を表す。距離L2は以下の式に基づいて決まる。
Figure 0005022868
ここで、ワークスペース座標系における赤外線LED320の位置(Xu’,Yu’,Zu’)を、ベース座標系における位置に変換する為には、以下に説明する変換処理が必要となる。以下では、係る変換処理について説明する。
先ず、ベース座標系からワークスペース座標系への変換行列をMbtとする。変換行列Mbtは、以下の式に示す如く、ベース座標系からワークスペース座標系への並進移動Tbtと、回転行列Rbtとで構成されている。
Figure 0005022868
ここで、ベース座標系における赤外線LED320の位置(Xu,Yu,Zu)は、変換行列Mbtを用いて、ワークスペース座標系における赤外線LED320の位置(Xu’,Yu’,Zu’)に変換することができる。以下に、係る変換を示す式を示す。
Figure 0005022868
従って、ワークスペース座標系における赤外線LED320の位置(Xu’,Yu’,Zu’)から、ベース座標系における赤外線LED320の位置(Xu,Yu,Zu)は、以下のようにして求めることができる。
Figure 0005022868
ここで、ワークスペース座標系におけるエンドエフェクタの移動ベクトルを(Dx’,Dy’,Dz’)とする。この場合、係る移動ベクトルに相当する、ベース座標系における移動ベクトル(Dx,Dy,Dz)は、変換行列Mbtを用いて以下のようにして求めることができる。
Figure 0005022868
更に、ロボットの制御装置は、メカニカルインターフェース部の座標系を指示することで、逆運動学を用いて各関節角度を制御することが可能となっており、メカニカルインターフェース座標系での移動量をロボットのコントローラへ指示することも可能である。ベース座標系での移動量(Dx,Dy,Dz)をメカニカルインターフェース座標系での移動量(Dmx,Dmy,Dmz)に変換する為にはベース座標からメカニカルインターフェース座標系への変換行列Mbmを用いて次のように演算を行う。
Figure 0005022868
次に、移動方向指示のそれぞれに対応する、ベース座標系におけるエンドエフェクタの移動ベクトルを以下の式に基づいて求める。ここで、移動方向指示には、Bup、Bdown、Bleft、Bright、Bnear、Bfarがある。また、ベース座標系におけるエンドエフェクタの移動ベクトルには、Δdup、Δddown、Δdleft、Δdright、Δdnear、Δdfarがある。なお、係る演算処理には、ベース座標系からワークスペース座標系への変換行列Mbtと、ベース座標系からメカニカルインターフェース座標系への変換Mbmとを用いている。
Figure 0005022868
このように、式1〜式11を用いて行った演算処理は、ユーザの視点の位置から、移動方向指示された方向への移動ベクトルを、ロボット500を基準として定義される座標系における移動ベクトルに変換する演算処理に等価である。
次に、ベース座標系におけるエンドエフェクタの位置をH(Xd,Yd,Zd)とする。また、移動方向指示Bupが入力された場合に、エンドエフェクタの移動先の位置をHupとする。同様に移動方向指示Bdown、Bnear、Bfar、Bleft、Brightが入力された場合に、エンドエフェクタの移動先の位置をそれぞれ、Hdown、Hnear、Hfar、Hleft、Hrightとする。この場合、それぞれの移動先の位置は以下の式に基づいて決まる。
Figure 0005022868
これにより、操作盤210からの移動方向指示に対応する、ベース座標系における移動ベクトルを求めることができるので、結果として、係る移動ベクトルで指し示される移動先を求めることができる。なお、以上説明したように、移動方向指示に基づいて移動ベクトルを求めるための一連の処理は、操作座標変換部400により行われる。そして操作座標変換部400は、このようにして求めた移動先の位置を示す移動指示を、ロボット制御接続口401を介してロボット500に送出する。即ち、変換後の移動ベクトルに従って、制御対象の可動部分を移動させる為の指示を、ロボット500に対して出力する。
次に、操作装置100を構成する操作入力部200が行う処理について、図6のフローチャートを用いて、より詳細に説明する。図6は、操作入力部200が行う処理のフローチャートである。
操作者299が操作盤210に備わっている上記ボタンやスティックを操作すると、ボタンが押下されたことを示す信号や、スティックを傾倒した方向を示す信号などが、上記動作指示として操作盤接続口201を介して操作入力部200に入力される。従って、ステップS250では、係る動作指示を示す信号を、操作盤接続口201を介して操作盤210から取得する。
次にステップS251では、操作入力部200は、ステップS250で取得した信号が、緊急停止ボタン214が押下されたことを示すものであるのかを判断する。係る判断の結果、緊急停止ボタン214が押下されたことを示す信号をステップS250で取得していたのであれば、処理をステップS256に進める。一方、緊急停止ボタン214が押下されたことを示す信号以外の信号をステップS250で取得していたのであれば、処理をステップS254に進める。ステップS251における処理を、操作盤210から信号を取得してから最初に行う理由としては、ロボット500の動作を停止する命令が最優先で処理されなくてはならないからである。
ステップS256では、操作入力部200は、ロボット500の動作を緊急停止させるための制御信号(緊急停止信号)を、操作座標変換部400に対して送出する。係る制御信号は、操作座標変換部400を介してロボット500に送出される。
一方、ステップS254では、操作入力部200は、操作盤接続口201を介して操作盤から受けた信号に基づいて、対応する動作機能を特定する。上述の通り、操作入力部200には、操作盤210に備わっているボタンやスティックのそれぞれの動作機能が登録されている。ここでは、それぞれの動作機能は、テーブル形式で登録されているものとしている。これは、操作者299が操作しやすいようにボタンやスティックの配置を変更した場合にも対応できるようにするためである。しかし本実施形態は、テーブル形式の登録に限定するものではない。
次に、ステップS255では、操作入力部200は、ステップS254において特定した動作機能を実行させるための指示信号を、操作座標変換部400に送出する。
次に、操作者位置計測部300が行う処理について、図7のフローチャートを用いて、より詳細に説明する。図7は、操作者位置計測部300が行う処理のフローチャートである。
ステップS350では、操作者299の頭部の位置(赤外線LED320の位置)を示す信号を、計測センサ接続口301を介して取得する。
次に、ステップS351では、ステップS350で取得した信号が示す位置について妥当性をチェックする。赤外線センサを用いた場合、外光やリモコンなどに反応して操作者の位置を誤検出する場合がある。それを操作者の位置として処理を続けると、間違った指示をロボットに与えることになる。ここでは、操作者299の頭部の位置が既定した作業範囲内に位置するか否かをチェックすることで、ノイズによる誤検出であるかどうかを判断する。ここで、過去の計測結果などを保持しておき、カルマンフィルタなどを用いて計算される分散値の大小により判断することで、より誤検出を除外することができる。
ステップS351における判断処理の結果、ステップS350で取得した信号が示す位置が作業範囲内であると判断した場合には、ステップS354に処理を進める。一方、作業範囲外であると判断した場合には、処理をステップS356に進める。
ステップS356では、操作者299の頭部の位置は得られなかったとして、その旨を示す信号を操作座標変換部400に送出する。
一方、ステップS354では、ステップS350で取得した信号が示す位置、即ち、赤外線LED320の位置を、ワークスペース座標系における位置に変換する。ワークスペース座標系は、作業対象のワークやワークの搬送経路に応じて操作者299が設定する座標系である。ロボット500に対する動作指示は、ワークに対するロボット500の動作を指示ものであるので、ここでは、ベース座標系で計測された位置をワークスペース座標系における位置に変換する。なお、ベース座標系からワークスペース座標系への変換行列は、事前に設定されているものとする。従って、係る変換行列を用いれば、ステップS354における処理を行うことができる。
次に、ステップS355では、ステップS354で求めた、ワークスペース座標系における操作者299の頭部の位置(ワークスペース座標系における赤外線LED320の位置)を示す信号を、操作座標変換部400に対して送出する。
次に、操作座標変換部400が行う処理について、図8のフローチャートを用いて、より詳細に説明する。図8は、操作座標変換部400が行う処理のフローチャートである。
先ず、ステップS450では、操作入力部200から送出された指示信号、若しくは緊急停止信号を取得する。
ステップS451では、ステップS450で取得した信号が、緊急停止信号であるか否かを判断する。係る判断の結果、ステップS450で取得した信号が、緊急停止信号である場合には、処理をステップS453に進める。一方、ステップS450で取得した信号が、指示信号である場合には処理をステップS455に送出する。
ステップS453では、操作入力部200から取得した緊急停止信号を、ロボット制御接続口401(もしくは緊急停止用信号線)を介してロボット500に送出する。これにより、ロボット500を緊急停止させることができる。
一方、ステップS455では、基本的には、操作者位置計測部300から送出された、ワークスペース座標系における操作者299の頭部の位置を示す信号を取得する。しかし、本ステップでは、操作者299の頭部の位置は得られなかった旨を示す信号を取得する可能性もある。即ち、ステップS455では、操作者位置計測部300から送出された信号を取得する。
ステップS456では、ステップS455で取得した信号が、操作者299の頭部の位置は得られなかった旨を示す信号であるのか否かを判断する。係る判断の結果、操作者299の頭部の位置は得られなかった旨を示す信号をステップS455で受信していた場合には、本処理を終了させる。即ち、ロボット500への制御信号は、例え、操作盤210からの入力があったとしても送らない。これにより、誤った位置計測結果による誤動作が発生しないように防ぐことができる。
一方、ステップS456における判断の結果、ステップS455で取得した信号が、ワークスペース座標系における操作者299の頭部の位置を示す信号である場合には、処理をステップS459に進める。
ステップS459では、ワークスペース座標系における操作者299の頭部の位置から、ステップS450で取得した指示信号が示す移動方向指示で指示する方向Bへの移動ベクトルΔd’を算出する。方向Bは、Bup,Bdown,Bleft,Bright,Bfar,Bnearの何れかを想定している。また、移動ベクトルΔd’は、方向Bに対するΔd’up、Δd’down、Δd’left、Δd’right、Δd’far、Δd’nearを想定している。
ステップS460では、ワークスペース座標系において求めた移動ベクトルΔd’をベース座標系における移動ベクトルΔdに変換する。ベース座標系からワークスペース座標系への変換行列は、処理が行われる前に既定されているものとしている。
ステップS461では、ベース座標系における制御対象としての可動部分(上記例ではエンドエフェクタ)の位置Hに、Δdを加えることで、ベース座標系における移動先の位置を求める。
ステップS462では、ステップS461で求めた移動先の位置を示す信号を、移動指示として、ロボット制御接続口401を介してロボット500に送出する。
<変形例>
操作盤210からの入力に対して、操作座標変換部400ではワークスペース座標系における移動ベクトルΔd’を、図8のステップS459にて算出している。その際、方向指示入力スティック211を傾倒することで移動するエンドエフェクタの単位時間あたりの移動量をkとして、Δd’を算出した。
ロボット500に対する動作指示を与えるときの操作者299の視点位置については、ワーク(エンドエフェクタによる操作対象物)とロボット500のエンドエフェクタとの干渉および位置関係を把握する必要がある。操作者299は、ワークとエンドエフェクタとが良く観察できる位置から作業を行うことが一般的である。その際に干渉が確認しやすい左右方向への移動量と、干渉がわかりにくい前後方向の移動量に差を持たせることで、間違って方向を入力したときのロボット位置の変位を少なくする効果がある。
係る点について一例を挙げて説明する。路面において自分に向かって近づいてくる車と自分との距離は、車の相対的な大きさの変化によって認知される。そのため、ある程度の移動を伴わないと相対的な距離が知覚されにくい。一方、車が自分に対して横方向に移動する場合は、距離によらず認知しやすい。
このような知覚の性質により、移動が知覚されにくい方向への動きに対しては実際の入力単位よりも少なくすることで、間違った入力がなされたときにロボットのエンドエフェクタと他の物体との衝突による破損などの事故を抑える効果がある。
図9は、操作盤210から、移動方向指示Bup,Bdown,Bfar,Bnearのそれぞれが入力された場合における、ワークスペース座標系における可動部分の移動ベクトルΔd’up、Δd’down、Δd’far、Δd’nearを示す図である。
図9(a)のワークスペース座標系での赤外線LED320の位置を(Xu’,Yu’,Zu’)とする。この場合、ワークスペース座標系における原点と(Xu’,Yu’,Zu’)を含む平面で観察したものである。
先ず、Δd’left, Δd’rightについては、以下の式に示す如く、Z2軸と視線方向ベクトルの外積ベクトルから求める。この場合、視線位置の違いによる移動量の変化は無い。
Figure 0005022868
ここで、Lは、(Xu’,Yu’,Zu’)からワークスペース座標系における原点までの距離を示し、以下の式によって求めることができる。
Figure 0005022868
次に、ワークスペース座標系における原点と(Xu’,Yu’,Zu’)とを結ぶベクトルと、Δd’leftとの外積ベクトルをV1とする。外積ベクトルV1は以下の式に基づいて求めることができる。
Figure 0005022868
一方、ワークスペース座標系における原点と(Xu’,Yu’,Zu’)とを結ぶベクトルと、X2−Y2平面とが成す角度θを用いてcosθを求める。cosθは、(Xu’,Yu’,Zu’)と、係る位置をX2−Y2平面に射影した(Xu’,Yu’,0)との内積から求めることができる。
Figure 0005022868
そこで、Δd’upは、以下の式に示す如く、外積ベクトルV1のZ2軸への射影した結果とする。
Figure 0005022868
|V1|は、V1のノルムであり、以下の式が示す内容に等価である。
Figure 0005022868
Δd’downは、Δd’upとは対称ベクトルなので、以下の式で表される。
Figure 0005022868
さらに、Δd’farは、外積ベクトルV1をX2−Y2平面に射影した結果としての射影ベクトルとすると、sinθを用いて、以下のように表すことができる。
Figure 0005022868
同様にΔd’nearは、Δd’farと対称なので、以下の式で表される。
Figure 0005022868
ただし、L2は、以下の式に示す如く、ワークスペース座標系における原点と(Xu’,Yu’,0)との距離とする。
Figure 0005022868
以上の関係を用いると、図9(b)に示す如く、ワークスペース座標系における赤外線LED320の位置とワークスペース座標系における原点とを結ぶベクトルと、X2−Y2平面との成す角度が小さい場合には、次のようなことが明確になる。即ち、操作者がワークを水平面に近い位置から観察している場合は、Δd’farおよびΔd’nearは図9(b)に示す如く、図9(a)よりも小さくなる。これは、ワークを水平面近くから観察しているときには、ロボットのエンドエフェクタが操作者に対して遠ざかる方向および近づく方向への移動に対して知覚しづらいため、その方向への移動量を入力単位に対して小さく設定している。これにより、ワークの影により確認しずらい状態であるワークの奥の物体との接触を移動量を小さくすることで抑える効果が期待される。
[第2の実施形態]
図10には、操作者の頭部に設置したカメラ340と、ベース座標系で規定する空間中に貼り付けられた幾何学的な特徴を有する指標330と、を用いて、操作者の頭部位置を計測する為の構成を示している。図10は、本実施形態に係るシステムの外観例を示す図である。本実施形態では、指標330として、非特許文献1に開示されているように、幾何学的な特徴を有するものとして図形の辺が画像処理により検出しやすい特徴を有する四角形とする。四角形の頂点の3次元位置は既知とするので、カメラ340による撮像画像から四角形の頂点が検出されれば、周知の技術により、カメラ340の位置姿勢を推定することができる。
図10において、指標画像3次元計測装置341は、カメラ340による撮像画像を取得し、係る撮像画像に対する画像処理でもって、カメラ340の位置姿勢を計測する。そして、計測した位置姿勢を示す信号を、操作装置100に対して送出する。操作装置100は、第1の実施形態と同様に動作する。
なお、カメラ340の撮像範囲が操作者の視野と重なるように、カメラ340を操作者の頭部に装着することで、操作者が向いている方向の現実空間を撮像することができる。従って、操作者が指標330を観察している場合には、カメラ340もまた、この指標330を撮像していることになる。
ここで、カメラ340が指標330を撮像していないと、指標画像3次元計測装置341は指標330を含む撮像画像を得ることができないので、結果として、カメラ340の位置姿勢を求めることができなくなる。すると、操作装置100もまた、係る位置姿勢を取得することができなくなるため、ロボットの制御を行うことができなくなる。即ち、操作者の頭部がロボット側に向いていない時に操作者が操作盤に対して指示入力を行っても、係る入力は無効となってしまう。
これにより、操作者がよそ見をしているときに誤入力を行ってしまったことで、操作者の意図しない動きをロボットに与える指示を行ってしまったとしても、係る指示を無効化することができるため、作業の安全性がより確保される。また、操作者の位置姿勢の計測を行う上で、コストも低く抑えられる。
[第3の実施形態]
図11は、本実施形態に係るシステムの機能構成例を示すブロック図である。本実施形態では、単にロボット500の可動部分を制御するだけでなく、可動部分(駆動部)の動作確認シミュレートを行い、その結果を操作者に確認させるべく、かかる結果を表示する。
操作装置101は、図1の操作入力部200、操作者位置計測部300、操作座標変換部400、操作盤接続口201、計測センサ接続口301、ロボット制御接続口401に加え、動作出力切り替え部410、動作出力保持部420、接続口402を有する。
動作出力切り替え部410は、操作者の身体感覚に近い座標系で与えられた動作指示をベース座標系に変換する操作座標変換部400から出力された信号を、ロボット500、駆動部動作シミュレータ装置700、の何れか若しくは両方に出力する。
このような動作出力切り替え部410による出力先の切り替え制御は、操作盤210に設けられた切り替えスイッチに対する操作に応じて行われる。即ち、係る切り替えスイッチに対する操作結果を、操作盤210、操作盤接続口201、操作入力部200を介して動作出力切り替え部410が受けると、動作出力切り替え部410は、係る操作結果に応じて、出力先を切り替える制御処理を行う。
また、動作出力保持部420には、操作盤210から順次入力されるそれぞれの動作指示を一時的に保持しておくことができる。これにより、動作出力切り替え部410によって、一連の動作入力の結果をまとめて駆動部動作シミュレータ装置700、若しくはロボット500に対して出力することができる。
駆動部動作シミュレータ装置700は、操作座標変換部400からの信号に基づいて、ロボット500の動き(ロボット500の各関節の位置姿勢情報)をシミュレートする。係るシミュレートでは、操作装置101側で求めた各可動部分の移動先の位置に基づいて、実際のロボット500の各可動部分の各関節の位置姿勢情報を求める。
動作確認画像生成装置710は、駆動部動作シミュレータ装置700から得られたロボット500の各関節の位置姿勢情報に基づいて、各可動部分を表す仮想物体を配置することで、ロボット500を表す3次元グラフィックスを描画する。なお、3次元グラフィックスを描画する際の視点の位置姿勢は、指標画像3次元計測装置341から得られるカメラ340の位置姿勢を利用する。
画像提示装置600は、例えば、HMD(ヘッドマウントディスプレイ)であり、動作確認画像生成装置710が生成した画像を表示する。
操作者は、自身の視点の位置姿勢に応じて、ロボットへの入力を行うとどのようにロボットが動くのかをコンピュータグラフィックスにより検証することが可能となる。
さらに、観察したシミュレータの動作に対して、操作者が意図した動きであると判断した場合は、ロボットへの実際の動作指示として実行するように操作盤から切り替えスイッチを用いて入力すれば良い。即ち、ロボットの動きを一度シミュレータで確認し、目的の動作であることを確認した上で、実際のロボットを動作させることで、操作入力の間違いによる誤動作を抑えることができる。さらに、インチング動作による僅かな動作入力が低減するため、ロボットのアクチュエータへのダメージも軽減できる。
[第4の実施形態]
本実施形態では、制御対象のロボットが移動可能である場合に、係るロボットが有する可動部分についての制御を行う。
図12は、本実施形態に係るシステムの外観例を示す図である。
移動型ロボット550は、車輪により床面上を自由に移動することができる。また、移動型ロボット550は、可動部分としてのマニュピレータを有しており、係るマニュピレータにより物体を把持したり、移動させたりすることができる。この場合、移動型ロボット550のベース座標系は移動型ロボット550の移動に伴い変化する。本実施形態では、可動部分を有するロボットと、係るロボットを操作制御する操作者との相対位置関係が求められれば良いので、何らかの方法で係る移動型ロボット550の位置を取得できればよい。
例えば、移動型ロボット550に、幾何学的な特徴を有する指標334を貼付し、操作者の頭部には、その指標334を撮像するカメラ340を装着する。また、指標334とロボット550のベース座標系とのローカルトランスフォームは既定されているものとする。ローカルトランスフォームとは、指標を既定するローカル座標系と、ロボット550のベース座標系との変換行列である。
係る構成の場合、カメラ340による撮像画像中に指標334が含まれている場合は、指標画像3次元計測装置341により、指標334が貼付されている移動型ロボット550のベース座標系におけるカメラ340の位置姿勢を計測することができる。そして指標画像3次元計測装置341は、求めた位置姿勢を示す信号を、操作装置100に送出する。操作装置100の動作については第1の実施形態で説明したとおりである。なお、本実施形態では、操作装置100は、移動型ロボット550への指示を、無線装置404を介して、無線でもって移動型ロボット550に送信する。
これにより、操作者が観察するときの身体の座標系に近い操作が可能となる。これにより、障害物を回避するように操作者から右手方向へ移動させたい場合は、操作盤から右手方向への移動指示を入力することにより、移動型ロボット550の進行方向によらず、右手方向へ移動するように指示することができる。
[第5の実施形態]
図1,11にそれぞれ示した操作装置100、101を構成する各部はソフトウェアで実装しても良い。この場合、操作装置100、101として一般のPCを適用し、係るPCが有するメモリに上記ソフトウェアをインストールする。そして、係るソフトウェアを、係るPCが有する制御部が読み出して実行すれば、係るPCは、上記操作装置100、101と同様の動作を行うことになる。
図13は、操作装置100、101に適用可能なコンピュータのハードウェア構成例を示すブロック図である。
CPU1301は、RAM1302やROM1303に格納されているプログラムやデータを用いて、本コンピュータ全体の制御を行うと共に、操作装置100、101が行うものとして上述した各処理を実行する。
RAM1302は、外部記憶装置1306からロードされたプログラムやデータ、I/F(インターフェース)1307を介して外部から受信した様々なデータ、を一時的に記憶するためのエリアを有する。更に、RAM1302は、CPU1301が各種の処理を実行する際に用いるワークエリアを有する。即ち、RAM1302は、各種のエリアを適宜提供することができる。
ROM1303には、本コンピュータの設定データや、ブートプログラムなどが格納されている。
操作部1304は、キーボードやマウスなどにより構成されており、本コンピュータの操作者が操作することで、各種の指示をCPU1301に対して入力することができる。
表示部1305は、CRTや液晶画面などにより構成されており、CPU1301による処理結果を画像や文字などでもって表示することができる。
外部記憶装置1306は、ハードディスクドライブ装置に代表される大容量情報記憶装置である。外部記憶装置1306には、OS(オペレーティングシステム)や、操作装置100、101が行うものとして上述した各処理をCPU1301に実行させるためのプログラムやデータ等が保存されている。係るプログラムには、操作入力部200、操作者位置計測部300、操作座標変換部400、動作出力切り替え部410、動作出力保持部420のそれそれの機能をCPU1301に実行させるためのプログラムが含まれている。更に、係るデータには、上述の説明において、既知の情報として説明したものや、操作装置100、101が保持しているものとして説明した情報、更には、当業者であれば当然の如く用いるであろう情報が含まれている。外部記憶装置1306に保存されているプログラムやデータは、CPU1301による制御に従って適宜RAM1302にロードされ、CPU1301による処理対象となる。
I/F1307は、上記操作盤接続口201、計測センサ接続口301、ロボット制御接続口401、接続口402、に対応するものである。図13では、I/F1307は1つしか示しておらず、この1つのI/F1307でもって、操作盤接続口201、計測センサ接続口301、ロボット制御接続口401、接続口402、を兼ねている。しかし、操作盤接続口201、計測センサ接続口301、ロボット制御接続口401、接続口402のそれぞれに対応するI/F1307(即ち4つのI/F1307)を本コンピュータに設けても良い。I/F1307を介して受信した情報はRAM1302や外部記憶装置1306に送出される。
1308は上述の各部を繋ぐバスである。
[その他の実施形態]
また、本発明の目的は、以下のようにすることによって達成されることはいうまでもない。即ち、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体(または記憶媒体)を、システムあるいは装置に供給する。係る記憶媒体は言うまでもなく、コンピュータ読み取り可能な記憶媒体である。そして、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読み出し実行する。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
また、コンピュータが読み出したプログラムコードを実行することにより、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行う。その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれたとする。その後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
駆動制御可能な可動部分を1以上有する産業用ロボットと、係る産業用ロボットの可動部分の位置や姿勢の操作制御を行うための操作装置とで構成されている、本発明の第1の実施形態に係るシステムの機能構成例を示すブロック図である。 本発明の第1の実施形態に係るシステムの外観例を示す図である。 操作盤210の構成例を示す図である。 本発明の第1の実施形態で取り扱う様々な座標系を示す図である。 方向指示入力スティック211、上方移動ボタン212、下方移動ボタン213のそれぞれが指示する移動方向と、それぞれの指示に応じた、ワークスペース座標系におけるハンド501(エンドエフェクタ)の移動方向と、を示す図である。 操作入力部200が行う処理のフローチャートである。 操作者位置計測部300が行う処理のフローチャートである。 操作座標変換部400が行う処理のフローチャートである。 操作盤210から、移動方向指示Bup,Bdown,Bfar,Bnearのそれぞれが入力された場合における、ワークスペース座標系における可動部分の移動ベクトルΔd’up、Δd’down、Δd’far、Δd’nearを示す図である。 本発明の第2の実施形態に係るシステムの外観例を示す図である。 本発明の第3の実施形態に係るシステムの機能構成例を示すブロック図である。 本発明の第4の実施形態に係るシステムの外観例を示す図である。 操作装置100、101に適用可能なコンピュータのハードウェア構成例を示すブロック図である。

Claims (9)

  1. ロボットにおける可動部分の移動方向を制御するための情報処理装置であって、
    前記制御を行うためにユーザが操作する少なくともボタンまたはレバーを備える操作盤から、ロボットの可動部分を移動させる方向を示す方向指示を取得する手段と、
    前記ユーザの視点の位置を取得する手段と、
    前記取得したユーザの視点の位置から前記方向指示が示す方向への移動ベクトルを、前記ロボットを基準として定義される座標系における移動ベクトルに変換する変換手段と、
    前記変換手段による変換後の移動ベクトルが示す方向に、前記ロボットの可動部分を移動させる為の指示を、前記ロボットに対して出力する手段と
    を備えることを特徴とする情報処理装置。
  2. 前記変換手段は、
    前記ロボットが操作する対象を基準として定義される座標系における前記視点の位置を求めた後、当該座標系における前記視点の位置から前記方向指示が示す方向への移動ベクトルを求め、更に、当該求めた移動ベクトルを、前記ロボットを基準として定義される座標系における移動ベクトルに変換する
    ことを特徴とする請求項1に記載の情報処理装置。
  3. 前記変換後の移動ベクトルに従う移動後の前記ロボットの可動部分の位置姿勢を算出する算出手段と、
    前記算出手段により算出した結果を表示する表示手段と、
    をさらに備えること特徴とする請求項1又は2に記載の情報処理装置。
  4. 前記変換手段は、前記ユーザの視点と操作対象物体との水平方向の角度に基づいて、前記変換後の移動ベクトルの大きさを決定することを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
  5. 前記方向指示が前記視点から遠ざかる方向を示す場合、前記変換手段による前記変換後の移動ベクトルが示す方向は前記ユーザの視点位置から求められた前記ユーザの視線方向に一致することを特徴とする、請求項1乃至4のいずれか1項に記載の情報処理装置。
  6. 前記方向指示が鉛直方向を示す場合、前記変換手段による前記変換後の移動ベクトルが示す方向は鉛直方向に一致することを特徴とする、請求項5に記載の情報処理装置。
  7. ロボットにおける可動部分の移動方向を制御するための情報処理装置が行う情報処理方法であって、
    前記制御を行うためにユーザが操作する少なくともボタンまたはレバーを備える操作盤から、ロボットの可動部分を移動させる方向を示す方向指示を取得する工程と、
    前記取得したユーザの視点の位置を取得する工程と、
    前記視点の位置から前記方向指示が示す方向への移動ベクトルを、前記ロボットを基準として定義される座標系における移動ベクトルに変換する変換工程と、
    前記変換工程による変換後の移動ベクトルが示す方向に、前記ロボットの可動部分を移動させる為の指示を、前記ロボットに対して出力する工程と
    を備えることを特徴とする情報処理方法。
  8. コンピュータに請求項に記載の情報処理方法を実行させるためのプログラム。
  9. 請求項に記載のプログラムを格納した、コンピュータ読み取り可能な記憶媒体。
JP2007298583A 2007-11-16 2007-11-16 情報処理装置、情報処理方法 Expired - Fee Related JP5022868B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007298583A JP5022868B2 (ja) 2007-11-16 2007-11-16 情報処理装置、情報処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007298583A JP5022868B2 (ja) 2007-11-16 2007-11-16 情報処理装置、情報処理方法

Publications (2)

Publication Number Publication Date
JP2009119579A JP2009119579A (ja) 2009-06-04
JP5022868B2 true JP5022868B2 (ja) 2012-09-12

Family

ID=40812313

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007298583A Expired - Fee Related JP5022868B2 (ja) 2007-11-16 2007-11-16 情報処理装置、情報処理方法

Country Status (1)

Country Link
JP (1) JP5022868B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108472810A (zh) * 2016-01-29 2018-08-31 三菱电机株式会社 机器人示教装置和机器人控制程序生成方法

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5498139B2 (ja) * 2009-12-02 2014-05-21 株式会社島精機製作所 裁断機
JP5446883B2 (ja) * 2010-01-06 2014-03-19 セイコーエプソン株式会社 ロボットコントロール装置
JP5526881B2 (ja) * 2010-03-12 2014-06-18 株式会社デンソーウェーブ ロボットシステム
JP5402750B2 (ja) * 2010-03-18 2014-01-29 株式会社安川電機 ロボットシステム
AT509927B1 (de) * 2010-06-08 2015-05-15 Keba Ag Verfahren zum programmieren oder vorgeben von bewegungen oder abläufen eines industrieroboters
JP6271835B2 (ja) * 2012-12-18 2018-01-31 川崎重工業株式会社 ロボットのハンドガイドシステム
JP6386837B2 (ja) * 2014-09-02 2018-09-05 任天堂株式会社 画像処理プログラム、情報処理システム、情報処理装置、画像処理方法
EP2993645B1 (en) 2014-09-02 2019-05-08 Nintendo Co., Ltd. Image processing program, information processing system, information processing apparatus, and image processing method
JP6401858B2 (ja) * 2015-05-28 2018-10-10 株式会社日立製作所 ロボット操作装置およびプログラム
DE102015012961B4 (de) * 2015-10-08 2022-05-05 Kastanienbaum GmbH Robotersystem
JP6662746B2 (ja) * 2016-10-07 2020-03-11 ファナック株式会社 機械学習部を備えた作業補助システム
JP7071070B2 (ja) 2017-08-02 2022-05-18 川崎重工業株式会社 ロボットシステム及びその運転方法
JP2019063953A (ja) * 2017-10-02 2019-04-25 株式会社オカムラ 作業システム、作業システムの制御方法及びプログラム
JP6882147B2 (ja) * 2017-11-28 2021-06-02 シュナイダーエレクトリックホールディングス株式会社 操作案内システム
JP6737765B2 (ja) 2017-11-28 2020-08-12 ファナック株式会社 ロボット教示システム、制御装置およびハンドガイドユニット
JP6669714B2 (ja) 2017-11-28 2020-03-18 ファナック株式会社 教示操作盤およびロボット制御システム
JP6885909B2 (ja) * 2018-10-12 2021-06-16 ファナック株式会社 ロボット制御装置
JP7407385B1 (ja) 2023-02-27 2024-01-04 パナソニックIpマネジメント株式会社 溶接ティーチング装置および溶接ティーチングシステム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0752068A (ja) * 1993-08-17 1995-02-28 Fujitsu Ltd 遠隔操作制御方式
JP2776477B2 (ja) * 1996-02-13 1998-07-16 川崎重工業株式会社 ロボット3次元位置姿勢教示システム
JP3940998B2 (ja) * 2002-06-06 2007-07-04 株式会社安川電機 ロボット装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108472810A (zh) * 2016-01-29 2018-08-31 三菱电机株式会社 机器人示教装置和机器人控制程序生成方法

Also Published As

Publication number Publication date
JP2009119579A (ja) 2009-06-04

Similar Documents

Publication Publication Date Title
JP5022868B2 (ja) 情報処理装置、情報処理方法
JP6787966B2 (ja) 拡張現実と複合現実を用いたロボット制御装置及び表示装置
KR101978740B1 (ko) 원격조종시스템 및 그 제어방법
US11220002B2 (en) Robot simulation device
JP6420229B2 (ja) 仮想物体の画像をロボットの映像に重畳表示する映像表示装置を備えるロボットシステム
US9919421B2 (en) Method and apparatus for robot path teaching
EP3744484B1 (en) Information processing device, information processing method, and information processing system
JP4844453B2 (ja) ロボットの教示装置及び教示方法
US20050131582A1 (en) Process and device for determining the position and the orientation of an image reception means
US20080180392A1 (en) Master-slave manipulator system
JP6445092B2 (ja) ロボットの教示のための情報を表示するロボットシステム
JP2012011498A (ja) ロボットアーム操作システムおよびその操作方法
JP2013184257A (ja) ロボット装置及びロボット装置の制御方法、並びにコンピューター・プログラム
JP2014180707A (ja) ロボット装置及び被加工物の製造方法
JP3912584B2 (ja) 遠隔操作装置
JP2001287179A (ja) 産業用ロボット教示装置
CN113467731A (zh) 显示系统、信息处理装置和显示系统的显示控制方法
JP3376029B2 (ja) ロボットの遠隔操作装置
JP2022163836A (ja) ロボット画像の表示方法、コンピュータープログラム、及び、ロボット画像の表示システム
US20220214685A1 (en) Remote operating device
JP3843317B2 (ja) マニピュレータの動作予告装置
JP2021058979A (ja) ロボットアーム試験装置
JP2020175453A (ja) 遠隔操作装置
JPH03287394A (ja) 遠隔ハンドリング装置
JPH09147142A (ja) 表示方法及び装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101116

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110506

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111114

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120113

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: 20120518

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120618

R151 Written notification of patent or utility model registration

Ref document number: 5022868

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150622

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees