(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-05
(45)【発行日】2024-11-13
(54)【発明の名称】ロボットプログラミング装置
(51)【国際特許分類】
B25J 9/22 20060101AFI20241106BHJP
G05B 19/42 20060101ALI20241106BHJP
【FI】
B25J9/22 A
G05B19/42 J
(21)【出願番号】P 2023512628
(86)(22)【出願日】2021-04-09
(86)【国際出願番号】 JP2021015028
(87)【国際公開番号】W WO2022215253
(87)【国際公開日】2022-10-13
【審査請求日】2023-11-08
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】100106002
【氏名又は名称】正林 真之
(74)【代理人】
【識別番号】100165157
【氏名又は名称】芝 哲央
(74)【代理人】
【識別番号】100160794
【氏名又は名称】星野 寛明
(72)【発明者】
【氏名】米山 寛之
【審査官】尾形 元
(56)【参考文献】
【文献】特開2019-171498(JP,A)
【文献】特開平10-124130(JP,A)
【文献】特開2014-188640(JP,A)
【文献】特開平9-330111(JP,A)
【文献】特開2015-33745(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00-21/02
G05B 19/18-19/416
G05B 19/42-19/46
(57)【特許請求の範囲】
【請求項1】
作業空間を三次元的に表現した仮想空間内に、ロボットのロボットモデル、軸を有する第1作業対象物モデル、穴を有する第2作業対象物モデルを配置
可能なモデル配置部と、
前記第1作業対象物モデル及び前記第2作業対象物モデルの形状的特徴を取得する特徴取得部と、
前記形状的特徴に基づいて、前記第1作業対象物モデルの軸と、前記第2作業対象物モデルの穴とを前記ロボットモデルによって嵌め合わせるための教示点を設定する教示点設定部と、
設定された前記教示点を用いて、前記第1作業対象物モデルの軸と、前記第2作業対象物モデルの穴とを嵌め合わせる嵌め合い作業を前記ロボットに行わせるための動作プログラムを作成するプログラム作成部と、
を備え
、
前記特徴取得部は、前記形状的特徴として、前記第1作業対象物モデルの前記軸の第1稜線、及び前記第2作業対象物モデルの前記穴の第2稜線を取得し、
前記教示点設定部は、前記第1稜線と前記第2稜線とが一致するように前記ロボットモデルを移動させた位置に前記教示点を設定する、
ロボットプログラミング装置。
【請求項2】
前記特徴取得部は、前記形状的特徴として、前記第1作業対象物モデルの前記軸を所定の間隔で分割した断面における複数の第1稜線、及び前記第2作業対象物モデルの前記穴を所定の間隔で分割した断面における複数の第2稜線を取得する、請求項1に記載のロボットプログラミング装置。
【請求項3】
作業空間を三次元的に表現した仮想空間内に、ロボットのロボットモデル、軸を有する第1作業対象物モデル、穴を有する第2作業対象物モデルを配置可能なモデル配置部と、
前記第1作業対象物モデル及び前記第2作業対象物モデルの形状的特徴を取得する特徴取得部と、
前記形状的特徴に基づいて、前記第1作業対象物モデルの軸と、前記第2作業対象物モデルの穴とを前記ロボットモデルによって嵌め合わせるための教示点を設定する教示点設定部と、
設定された前記教示点を用いて、前記第1作業対象物モデルの軸と、前記第2作業対象物モデルの穴とを嵌め合わせる嵌め合い作業を前記ロボットに行わせるための動作プログラムを作成するプログラム作成部と、
を備え、
前記教示点設定部は、前記軸及び前記穴の断面の図心を通る直線方向に前記ロボットモデルを移動させた位置において、接近の教示点及び離反の教示点を設定する
、ロボットプログラミング装置。
【請求項4】
前記教示点設定部は、前記教示点において前記ロボットモデルが取りうる複数の姿勢が存在する場合、前記複数の姿勢から1つの姿勢を選択及び設定する、請求項1から3のいずれか一項に記載のロボットプログラミング装置。
【請求項5】
前記第1作業対象物モデルは、前記ロボットモデルによって把持されており、
前記第2作業対象物モデルは、固定されている、請求項1から4のいずれか一項に記載のロボットプログラミング装置。
【請求項6】
前記第1作業対象物モデルは、固定されており、
前記第2作業対象物モデルは、前記ロボットモデルによって把持される、請求項1から4のいずれか一項に記載のロボットプログラミング装置。
【請求項7】
前記モデル配置部は、2つの前記ロボットの前記ロボットモデルを前記仮想空間内に配置し、
2つの前記ロボットモデルは、それぞれ、前記第1作業対象物モデル及び前記第2作業対象物モデルを把持する、請求項1から6のいずれか一項に記載のロボットプログラミング装置。
【請求項8】
前記モデル配置部は、前記ロボットモデルと共に、前記ロボットのハンドのハンドモデルを前記仮想空間内に配置する、請求項1から7のいずれか一項に記載のロボットプログラミング装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボットプログラミング装置に関する。
【背景技術】
【0002】
従来、ロボットによるワークの嵌め合い作業の動作プログラムを教示する場合、動作プログラムの教示は、ロボットが把持するワークの軸と、嵌め合わせられる対象物の穴とが一致するように、作業者の手作業によりロボットを微調整しながら行われる。
【0003】
または、動作プログラムの教示のために、ロボット、ハンド、ワーク等のCAD(Computer-Aided Design)モデルは、仮想空間内に配置される。そして、動作プログラムの教示は、ロボットのCADモデルが把持するワークのCADモデルの軸と、嵌め合わせられる対象物のCADモデルの穴とが一致するように、作業者の手作業によりロボットを微調整しながら行われる。
【0004】
一方、バリ取りや溶接等の加工についてロボットプログラムの教示を自動で行う技術が提案されている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかし、従来の技術では、嵌め合い作業において、動作プログラムの教示は、作業者の手作業によってロボット又は仮想空間内のロボットのCADモデルを微調整しながら教示するため、作業者の熟練度に依存し、作業時間も長くなっていた。そこで、ロボットによる嵌め合い作業における動作プログラムの教示の効率を向上させることが望まれている。
【課題を解決するための手段】
【0007】
本開示の一態様に係るロボットプログラミング装置は、作業空間を三次元的に表現した仮想空間内に、ロボットのロボットモデル、軸を有する第1作業対象物モデル、穴を有する第2作業対象物モデルを配置するモデル配置部と、前記第1作業対象物モデル及び前記第2作業対象物モデルの形状的特徴を取得する特徴取得部と、前記形状的特徴に基づいて、前記第1作業対象物モデルの軸と、前記第2作業対象物モデルの穴とを前記ロボットモデルによって嵌め合わせるための教示点を設定する教示点設定部と、設定された前記教示点を用いて、前記第1作業対象物モデルの軸と、前記第2作業対象物モデルの穴とを嵌め合わせる嵌め合い作業を前記ロボットに行わせるための動作プログラムを作成するプログラム作成部と、を備える。
【発明の効果】
【0008】
本発明によれば、ロボットによる嵌め合い作業における動作プログラムの教示の効率を向上させることができる。
【図面の簡単な説明】
【0009】
【
図1】本実施形態に係るロボットプログラミング装置の構成を示すブロック図である。
【
図2】仮想空間内のロボットモデル、ハンドモデル、第1作業対象物モデル及び第2作業対象物モデルを示す図である。
【
図3A】第1作業対象物モデルの構成を示す図である。
【
図3B】第2作業対象物モデルの構成を示す図である。
【
図3C】第2作業対象物モデルの構成を示す図である。
【
図4A】第1作業対象物モデルの構成を示す図である。
【
図4B】第1作業対象物モデルの構成を示す図である。
【
図4C】第1作業対象物モデルの構成を示す図である。
【
図7】接近の教示点及び離反の教示点の設定について示す図である。
【
図8A】ロボットモデルが複数の姿勢を有する場合の例を示す図である。
【
図8B】ロボットモデルが複数の姿勢を有する場合の例を示す図である。
【
図9A】ロボットモデルが複数の姿勢を有する場合の例を示す図である。
【
図9B】ロボットモデルが複数の姿勢を有する場合の例を示す図である。
【
図10】仮想空間内のロボットモデル、ハンドモデル、第1作業対象物モデル及び第2作業対象物モデルの別の構成例を示す図である。
【
図11】仮想空間内に2つのロボットモデルを有する場合の構成例を示す図である。
【
図12】ロボットプログラミング装置の処理を示すフローチャートである。
【発明を実施するための形態】
【0010】
以下、本発明の実施形態の一例について説明する。
図1は、本実施形態に係るロボットプログラミング装置1の構成を示すブロック図である。
図1に示すように、ロボットプログラミング装置1は、制御部11と、記憶部12と、表示部13と、操作部14と、を備える。ロボットプログラミング装置1は、作業空間内に配置されたワークを加工する工具を備えたロボットの動作プログラムを教示することを目的としている。
【0011】
制御部11は、CPU(Central Processing Unit)等のプロセッサであり、記憶部23に記憶されたプログラムを実行することによって各種の機能を実現する。制御部11は、仮想空間作成部111と、モデル配置部112と、特徴取得部113と、教示点設定部114と、プログラム作成部115と、を備える。
【0012】
記憶部12は、OS(Operating System)やアプリケーションプログラム等を格納するROM(Read Only Memory)、RAM(Random Access Memory)、その他の各種情報を格納するハードディスクドライブやSSD(Solid State Drive)等の記憶装置である。
【0013】
記憶部12は、例えば、後述するロボットモデル20、ハンドモデル30、第1作業対象物の第1作業対象物モデル40、及び第2作業対象物の第2作業対象物モデル50等に関するCAD(Computer-Aided Design)モデルデータを記憶する。
【0014】
表示部13は、LCD(Liquid Crystal Display)、CRT(Cathode Ray Tube)等で構成され、各種の画像を表示する。
操作部14は、マウス、キーボード等で構成され、各種の入力を受け付ける。
【0015】
仮想空間作成部111は、作業空間を三次元的に表現した仮想空間を作成する。
図2は、仮想空間内のロボットモデル20、ハンドモデル30、第1作業対象物モデル40及び第2作業対象物モデル50を示す図である。
【0016】
モデル配置部112は、
図2に示すように、仮想空間内にロボットのロボットモデル20、ロボットハンドのハンドモデル30、軸を有する第1作業対象物の第1作業対象物モデル40、及び穴を有する第2作業対象物の第2作業対象物モデル50を配置する。
【0017】
具体的には、モデル配置部112は、記憶部12に記憶されたCADモデルデータに基づいて、仮想空間内にロボットモデル20、ハンドモデル30、第1作業対象物モデル40、及び第2作業対象物モデル50を配置する。なお、
図2に示す例では、第1作業対象物モデル40は、ロボットモデル20によって把持され、第2作業対象物モデル50は、固定されている。
【0018】
特徴取得部113は、第1作業対象物モデル40及び第2作業対象物モデル50のCADモデルデータ等に基づいて、第1作業対象物モデル40及び第2作業対象物モデル50の形状的特徴を取得する。
【0019】
教示点設定部114は、特徴取得部113によって取得された形状的特徴に基づいて、第1作業対象物モデル40の軸と、第2作業対象物モデル50の穴とをロボットモデル20によって嵌め合わせるための教示点を設定する。
【0020】
プログラム作成部115は、教示点設定部114によって設定された教示点を用いて、第1作業対象物モデル40の軸と、第2作業対象物モデル50の穴とを嵌め合わせる嵌め合い作業をロボットに行わせるための動作プログラムを作成する。
【0021】
図3Aは、第1作業対象物モデル40の構成を示す図である。
図3Aに示すように、第1作業対象物モデル40は、楕円形状の底面を有する楕円柱を備える。すなわち、第1作業対象物モデル40は、軸形状を有しており、第1作業対象物モデル40をその底面に対して平行な方向に切断した際の断面41の形状は、均一な楕円形状を有する。
【0022】
特徴取得部113は、形状的特徴として、第1作業対象物モデル40の軸を所定の間隔で分割した断面41における複数の第1稜線42を取得する。
【0023】
図3Bは、第2作業対象物モデル50の構成を示す図である。
図3Bに示すように、第2作業対象物モデル50は、楕円形状の底面を有する楕円柱形状を備え、中央に穴を有する。第2作業対象物モデル50の穴を長手方向に切断した際の断面51の形状は、均一な楕円形状を有する。なお、第2作業対象物モデル50の穴は、貫通孔である。
【0024】
特徴取得部113は、形状的特徴として、第2作業対象物モデル50の穴を所定の間隔で分割した断面51における複数の第2稜線52を取得する。
【0025】
また、特徴取得部113は、第1稜線42及び第2稜線53を取得すると、第1作業対象物モデル40の各断面41における第1稜線42と、第2作業対象物モデル50の各断面51における第2稜線52とが一致していることを確認する。
【0026】
図3Cは、第2作業対象物モデル50Aの構成を示す図である。
図3Cに示すように、第2作業対象物モデル50Aは、楕円形状の底面を有する楕円柱を重ねた形状を備え、中央に穴を有する。
【0027】
第2作業対象物モデル50Aの穴は、貫通されていないが、特徴取得部113は、形状的特徴として、第2作業対象物モデル50Aの穴を所定の間隔で分割した断面51Aにおける複数の第2稜線52Aを取得する。
【0028】
図4Aは、第1作業対象物モデル40Aの構成を示す図である。
図4Aに示すように、第1作業対象物モデル40Aは、楕円形状の底面を有する楕円柱を重ねた形状を備える。この場合、特徴取得部113は、形状的特徴として、第1作業対象物モデル40Aの軸を所定の間隔で分割した断面41Aにおける複数の第1稜線42Aを取得する。
【0029】
図4Bは、第1作業対象物モデル40Bの構成を示す図である。
図4Bに示すように、第1作業対象物モデル40Bは、楕円形状の底面を有し、テーパー形状を有する。この場合、特徴取得部113は、形状的特徴として、第1作業対象物モデル40Bの軸を所定の間隔で分割した断面41Bにおける複数の第1稜線42Bを取得する。
【0030】
図4Cは、第1作業対象物モデル40Cの構成を示す図である。
図4Cに示すように、第1作業対象物モデル40Cは、楕円形状の底面を有する楕円柱であり、底面付近に面取りを有する。この場合、特徴取得部113は、形状的特徴として、第1作業対象物モデル40Cの軸を所定の間隔で分割した断面41Cにおける複数の第1稜線42Cを取得する。
【0031】
図5は、教示点P1の設定について示す図である。
図5に示すように、教示点設定部114は、第1稜線42と第2稜線52とが一致するようにロボットモデル20を移動させた位置に、嵌め合い作業のための教示点P1を設定する。教示点P1は、例えば、ハンドモデル30のツール先端点に設定される。
【0032】
また、教示点設定部114は、教示点P1における第1作業対象物モデル40の軸と、第2作業対象物モデル50の穴との干渉をチェックし、教示点P1における第1作業対象物モデル40の軸と、第2作業対象物モデル50Aの穴とが完全に一致していることを確認する。なお、教示点P1における第1作業対象物モデル40の軸と、第2作業対象物モデル50Aの穴とは、同一形状であるため、基本的には干渉しない。
【0033】
図6Aは、教示点P1の設定について示す図である。
図6Aに示すように、教示点設定部114は、第1作業対象物モデル40の軸及び第2作業対象物モデル50の穴の図心60を通る直線方向において嵌め合いのための距離のオフセットD1を設定してもよい。これにより、教示点設定部114は、第2作業対象物モデル50の穴に対して第1作業対象物モデル40の軸を浮かせた状態での教示点P1を設定することができる。
【0034】
図6Bは、教示点P1の設定について示す図である。
図6Bに示すように、教示点設定部114は、第1作業対象物モデル40の軸及び第2作業対象物モデル50の穴の図心60を通る直線方向において嵌め合いのための距離のオフセットD2を設定してもよい。これにより、教示点設定部114は、第2作業対象物モデル50の穴に対して第1作業対象物モデル40の軸を突き通した状態での教示点P1を設定することができる。
【0035】
図7は、接近の教示点及び離反の教示点の設定について示す図である。
図7に示すように、教示点設定部114は、第1作業対象物モデル40の軸及び第2作業対象物モデル50の穴の図心60を通る直線方向において、接近及び離反のための距離のオフセットD3を設定してもよい。
【0036】
そして、教示点設定部114は、図心60を通る直線方向にロボットモデル20を移動させた位置において、接近の教示点及び離反の教示点を設定する。具体的には、
図7に示すように、教示点設定部114は、断面41と断面51とが距離のオフセットD3離れた位置において、接近の教示点及び離反の教示点を設定する。
【0037】
よって、教示点を設定した後の動作プログラムは、接近の教示点、嵌め合い作業のための教示点、及び離反の教示点の順序でロボットモデル20を動作させる。
【0038】
図8A及び
図8Bは、ロボットモデル20が複数の姿勢を有する場合の例を示す図である。第1作業対象物モデル40の軸及び第2作業対象物モデル50の穴の断面形状が楕円形状の場合、
図8Bに示すように、ロボットモデル20は、第1作業対象物モデル40の向きを180°逆にした姿勢を取りうる。すなわち、ロボットモデル20は、嵌め合いのための教示点P1において複数の姿勢を取りうる。
【0039】
このように教示点設定部114は、教示点P1においてロボットモデル20が取りうる複数の姿勢が存在する場合、複数の姿勢から1つの姿勢を選択及び設定する。具体的には、教示点設定部114は、ロボットモデル20の姿勢変化がより少ないほうの姿勢を選択及び設定する。
【0040】
図9A及び
図9Bは、ロボットモデル20が複数の姿勢を有する場合の例を示す図である。
図9A及び
図9Bに示すように、第1作業対象物モデル40Dの軸及び第2作業対象物モデル50Dの穴の断面形状が正方形の場合、ロボットモデル20は、第1作業対象物モデル40の向きを90°ずつ回転した4つの姿勢を取りうる。
【0041】
この場合、教示点設定部114は、ロボットモデル20の姿勢変化がより少ないほうの姿勢を選択及び設定する。または、教示点設定部114は、第1作業対象物モデル40Dの終端の面43Dにおいて指定された辺と、第2作業対象物モデル50Dの終端の面53Dにおいて指定された辺とが一致するように、ロボットモデル20を移動させた姿勢を選択及び設定してもよい。
【0042】
図10は、仮想空間内のロボットモデル20、ハンドモデル30、第1作業対象物モデル40及び第2作業対象物モデル50の別の構成例を示す図である。
図10に示すように、第1作業対象物モデル40は、固定されており、第2作業対象物モデル50は、ロボットモデル20によって把持されてもよい。この場合も上述した例と同様に、教示点設定部114は、形状的特徴に基づいて、第1作業対象物モデル40の軸と、第2作業対象物モデル50の穴とをロボットモデル20によって嵌め合わせるための教示点を設定することができる。
【0043】
図11は、仮想空間内に2つのロボットモデル20A及び20Bを有する場合の構成例を示す図である。
図11に示すように、モデル配置部112は、2つのロボットのロボットモデル20A及び20Bを同一の仮想空間内に配置する。2つのロボットモデル20A及び20Bは、それぞれ、第1作業対象物モデル40及び第2作業対象物モデル50を把持する。
【0044】
この場合も上述した例と同様に、教示点設定部114は、形状的特徴に基づいて、第1作業対象物モデル40の軸と、第2作業対象物モデル50の穴とをロボットモデル20A及び20Bによって嵌め合わせるための教示点を設定することができる。
【0045】
図12は、ロボットプログラミング装置1の処理を示すフローチャートである。
ステップS11において、仮想空間作成部111は、作業空間を三次元的に表現した仮想空間を作成する。
【0046】
ステップS12において、モデル配置部112は、仮想空間内にロボットのロボットモデル20、ロボットハンドのハンドモデル30、軸を有する第1作業対象物の第1作業対象物モデル40、及び穴を有する第2作業対象物の第2作業対象物モデル50を配置する。
【0047】
ステップS13において、特徴取得部113は、第1作業対象物モデル40及び第2作業対象物モデル50の形状的特徴を取得する。
【0048】
ステップS14において、教示点設定部114は、形状的特徴に基づいて、第1作業対象物モデル40の軸と、第2作業対象物モデル50の穴とをロボットモデル20によって嵌め合わせるための教示点を設定する。
【0049】
ステップS15において、プログラム作成部115は、設定された教示点を用いて、第1作業対象物モデル40の軸と、第2作業対象物モデル50の穴とを嵌め合わせる嵌め合い作業をロボットに行わせるための動作プログラムを作成する。
【0050】
本実施形態によれば、ロボットプログラミング装置1は、作業空間を三次元的に表現した仮想空間を作成する仮想空間作成部111と、仮想空間内にロボットのロボットモデル20、ロボットハンドのハンドモデル30、軸を有する第1作業対象物の第1作業対象物モデル40、及び穴を有する第2作業対象物の第2作業対象物モデル50を配置するモデル配置部112と、第1作業対象物モデル40及び第2作業対象物モデル50の形状的特徴を取得する特徴取得部113と、形状的特徴に基づいて、第1作業対象物モデル40の軸と、第2作業対象物モデル50の穴とをロボットモデル20によって嵌め合わせるための教示点を設定する教示点設定部114と、設定された教示点を用いて、第1作業対象物モデル40の軸と、第2作業対象物モデル50の穴とを嵌め合わせる嵌め合い作業をロボットに行わせるための動作プログラムを作成するプログラム作成部115と、を備える。
【0051】
これにより、ロボットプログラミング装置1は、嵌め合い作業を行うロボットの動作プログラムを自動的に生成できる。そのため、ロボットプログラミング装置1は、従来、作業者の手作業によって、ロボット又は仮想空間内のロボットのCADモデルを微調整しながら手作業で教示を行っていた負担及び作業時間を大幅に軽減することができる。
【0052】
また、特徴取得部113は、形状的特徴として、第1作業対象物モデル40の軸を所定の間隔で分割した断面における複数の第1稜線、及び第2作業対象物モデル50の穴を所定の間隔で分割した断面における複数の第2稜線を取得する。教示点設定部114は、第1稜線と第2稜線とが一致するようにロボットモデル20を移動させた位置に教示点を設定する。これにより、ロボットプログラミング装置1は、嵌め合い作業を行うロボットの動作プログラムにおける嵌め合いの教示点を精度よく自動的に生成することができる。
【0053】
また、教示点設定部114は、軸及び穴の断面の図心を通る直線方向にロボットモデル20を移動させた位置において、接近の教示点及び離反の教示点を設定する。これにより、ロボットプログラミング装置1は、嵌め合い作業を行うロボットの動作プログラムにおける接近の教示点及び離反の教示点を自動的に生成することができる。
【0054】
また、教示点設定部114は、教示点においてロボットモデル20が取りうる複数の姿勢が存在する場合、複数の姿勢から1つの姿勢を選択及び設定する。これにより、ロボットプログラミング装置1は、ロボットモデル20の適切な姿勢において教示点を自動的に生成することができる。
【0055】
また、第1作業対象物モデル40は、ロボットモデル20によって把持されており、第2作業対象物モデル50は、固定されてもよい。また、第1作業対象物モデル40は、固定されており、第2作業対象物モデル50は、ロボットモデル20によって把持されてもよい。これにより、ロボットプログラミング装置1は、第1作業対象物モデル40及び第2作業対象物モデル50のうち、一方を固定し、他方をロボットモデル20によって把持した状態において、動作プログラムを生成することができる。
【0056】
また、モデル配置部112は、2つのロボットのロボットモデル20A及び20Bを仮想空間内に配置する。2つのロボットモデル20A及び20Bは、それぞれ、第1作業対象物モデル40及び第2作業対象物モデル50を把持する。
これにより、ロボットプログラミング装置1は、2つのロボットモデル20A及び20Bを用いて動作プログラムを生成することができる。
【0057】
また、モデル配置部112は、ロボットモデル20と共に、ロボットのハンドのハンドモデル30を仮想空間内に配置する。これにより、ロボットプログラミング装置1は、ハンドモデル30の適切な姿勢において教示点を自動的に生成することができる。
【0058】
以上、本発明の実施形態について説明したが、上記のロボットプログラミング装置1は、ハードウェア、ソフトウェア又はこれらの組み合わせにより実現することができる。また、上記のロボットプログラミング装置1により行なわれる制御方法も、ハードウェア、ソフトウェア又はこれらの組み合わせにより実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。
【0059】
プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えば、ハードディスクドライブ)、光磁気記録媒体(例えば、光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(random access memory))を含む。
【0060】
また、上述した各実施形態は、本発明の好適な実施形態ではあるが、上記各実施形態のみに本発明の範囲を限定するものではなく、本発明の要旨を逸脱しない範囲において種々の変更を施した形態での実施が可能である。
【符号の説明】
【0061】
1 ロボットプログラミング装置
11 制御部
12 記憶部
13 表示部
14 操作部
111 仮想空間作成部
112 モデル配置部
113 特徴取得部
114 教示点設定部
115 プログラム作成部