(57)【要約】【課題】ロボットの可動部の動作制御に適したソフトウェアを生成する。【解決手段】制御部１０２内のＤＸＦファイル取得部１２２は、ＣＡＤデータであるＤＸＦファイルを取得する。また、データ変換部１２４は、ＤＸＦファイルに基づいて位置設定用データを生成するとともに、ＤＸＦコマンドと制御コマンドとの対応付けに応じて、位置設定用データを含み、ロボットの可動部の動作を制御するための制御コマンドを生成する。【選択図】図１
2016120552.tif 000002
【特許請求の範囲】
【請求項１】
ロボットの可動部の動作を制御するソフトウェアを生成するコンピュータを、
ＣＡＤデータに含まれる座標データと形状定義データとの組み合わせを取得する取得手段、
前記取得手段により取得された前記座標データを前記ロボットの可動部の位置設定用データに変換するとともに、前記取得手段により取得された前記形状定義データを前記ロボットの可動部を移動させるための命令データに変換する変換手段、
として機能させるプログラム。
【請求項２】
前記変換手段は、前記座標データと前記形状定義データとの組み合わせによって特定される図形に基づいて、前記位置設定用データと前記命令データとを生成することを特徴とする請求項１に記載のプログラム。
【請求項３】
前記変換手段は、前記位置設定用データとして前記ロボットの可動部の始点から終点までの通過位置を設定するとともに、前記命令データとして前記ロボットの可動部の前記始点から終点までの移動態様を設定することを特徴とする請求項１又は２に記載のプログラム。
【請求項４】
前記変換手段は、連続する同一種類の命令を統合した１つの命令データを生成することを特徴とする請求項１〜３の何れか１項に記載のプログラム。
【請求項５】
前記変換手段は、前記座標データと前記形状定義データとの組み合わせによって特定される図形が自由曲線である場合、前記自由曲線上の座標の取得間隔を設定し、前記設定した座標の取得間隔に応じて前記位置設定用データを生成することを特徴とする請求項１〜４の何れか１項に記載のプログラム。
【請求項６】
前記変換手段は、前記座標データと前記形状定義データとの組み合わせによって特定される図形が楕円である場合、前記楕円上の座標の取得間隔を中心からの角度によって設定し、前記設定した座標の取得間隔に応じて前記位置設定用データを生成することを特徴とする請求項１〜５の何れか１項に記載のプログラム。
【請求項７】
ロボットの可動部の動作を制御するソフトウェアの生成方法であって、
ＣＡＤデータに含まれる座標データと形状定義データとの組み合わせを取得する取得ステップと、
前記取得ステップにおいて取得された前記座標データを前記ロボットの可動部の位置設定用データに変換するとともに、前記取得ステップにおいて取得された前記形状定義データを前記ロボットの可動部を移動させるための命令データに変換する変換ステップと、
を含むことを特徴とするソフトウェアの生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、及び、ソフトウェアの生成方法に関する。
【背景技術】
【０００２】
従来よりＣＡＤ（Computer Aided Design）データを用いて様々なデータを生成することが行われている。例えば、特許文献１では、ＣＡＤ互換フォーマットデータの「ＣＩＲＣＬＥ」、「ＬＩＮＥ」の記述と座標データとを用いて、図形の形状を示す形状データが生成され、更に、形状データと、始点、縫いピッチ、テンション値などの縫いパラメータに基づいてボタン付け縫いを行う縫いデータが生成される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−３０１２８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ＣＡＤデータを用いてロボットの可動部の動作を制御するソフトウェアを生成することが考えられる。しかし、上述した従来のデータ生成の手法では、必ずしも十分ではない。
【０００５】
本発明は、上記問題点に鑑みてなされたものであり、ロボットの可動部の動作制御に適したソフトウェアを生成することを目的とする。
【課題を解決するための手段】
【０００６】
目的を達成するために、本発明の第１の観点に係るプログラムは、
ロボットの可動部の動作を制御するソフトウェアを生成するコンピュータを、
ＣＡＤデータに含まれる座標データと形状定義データとの組み合わせを取得する取得手段、
前記取得手段により取得された前記座標データを前記ロボットの可動部の位置設定用データに変換するとともに、前記取得手段により取得された前記形状定義データを前記ロボットの可動部を移動させるための命令データに変換する変換手段、
として機能させる。
【０００７】
前記変換手段は、前記座標データと前記形状定義データとの組み合わせによって特定される図形に基づいて、前記位置設定用データと前記命令データとを生成するようにしてもよい。
【０００８】
前記変換手段は、前記位置設定用データとして前記ロボットの可動部の始点から終点までの通過位置を設定するとともに、前記命令データとして前記ロボットの可動部の前記始点から終点までの移動態様を設定するようにしてもよい。
【０００９】
前記変換手段は、連続する同一種類の命令を統合した１つの命令データを生成するようにしてもよい。
【００１０】
前記変換手段は、前記座標データと前記形状定義データとの組み合わせによって特定される図形が自由曲線である場合、前記自由曲線上の座標の取得間隔を設定し、前記設定した座標の取得間隔に応じて前記位置設定用データを生成するようにしてもよい。
【００１１】
前記変換手段は、前記座標データと前記形状定義データとの組み合わせによって特定される図形が楕円である場合、前記楕円上の座標の取得間隔を中心からの角度によって設定し、前記設定した座標の取得間隔に応じて前記位置設定用データを生成するようにしてもよい。
【００１２】
目的を達成するために、本発明の第２の観点に係るソフトウェアの生成方法は、
ロボットの可動部の動作を制御するソフトウェアの生成方法であって、
ＣＡＤデータに含まれる座標データと形状定義データとの組み合わせを取得する取得ステップと、
前記取得ステップにおいて取得された前記座標データを前記ロボットの可動部の位置設定用データに変換するとともに、前記取得ステップにおいて取得された前記形状定義データを前記ロボットの可動部を移動させるための命令データに変換する変換ステップと、
を含むことを特徴とする。
【発明の効果】
【００１３】
本発明によれば、ロボットの可動部の動作制御に適したソフトウェアを生成することができる。
【図面の簡単な説明】
【００１４】
【図１】実施形態に係る制御ソフトウェア生成装置の概略構成を示す図である。
【図２】制御ソフトウェア生成処理を示すフローチャートである。
【図３】ＤＸＦ（Drawing eXchange Format）ファイル内のＤＸＦコマンドと制御コマンドとの対応関係を示す図である。
【図４】ＤＸＦファイルに基づいて描画される図形の一例を示す図である。
【図５】位置設定用データの設定の一例を示す図である。
【図６】位置設定用データの一例を示す図である。
【図７】制御コマンドの内容を示す図である。
【図８】制御コマンドの一例を示す図である。
【発明を実施するための形態】
【００１５】
以下、本発明の実施形態について図面を参照しながら詳細に説明する。
【００１６】
図１は、実施形態に係る制御ソフトウェア生成装置１００の概略構成を示す図である。図１に示す制御ソフトウェア生成装置１００は、ロボットの可動部（図示せず）の動作を制御するために実行される制御ソフトウェアを生成するものである。制御ソフトウェア生成装置１００は、制御部１０２、メモリ１０４、モニタ１０６、インタフェース（Ｉ／Ｆ）部１１０、操作部１１２を含んで構成される。
【００１７】
制御部１０２は、例えばマイクロコンピュータにより構成される。制御部１０２は、メモリ１０４に記憶されたプログラムを実行し、メモリ１０４に記憶された各種データを処理することなどにより、ロボットの可動部（図示せず）の動作を制御するために実行される制御ソフトウェアを生成する。制御部１０２は、取得手段としてのＤＸＦファイル取得部１２２の機能と、変換手段としてのデータ変換部１２４の機能とを有する。制御ソフトウェアの生成の詳細については後述する。
【００１８】
メモリ１０４は、例えばＲＡＭ（Random Access Memory）やＲＯＭ（Read Only Memory）である。メモリ１０４は、各種情報を記憶する。モニタ１０６は、各種画像を表示する。Ｉ／Ｆ部１１０は、制御部１０２の制御により、外部の機器との間でデータの送信及び受信を行う。操作部１１２は、例えばマウスやキーボードであり、作業者の操作に応じた操作信号を制御部１０２へ出力する。
【００１９】
次に、フローチャートを参照しつつ、制御ソフトウェア生成装置１００の処理を説明する。図２は、制御ソフトウェア生成装置１００による制御ソフトウェア生成処理を示すフローチャートである。
【００２０】
制御部１０２内のＤＸＦファイル取得部１２２は、ＣＡＤデータであるＤＸＦファイルを取得する（ステップＳ１０１）。ＤＸＦファイルは、どのような図形を描画するのかを示す形状定義データとしてのＤＸＦコマンドと、図形がどの位置に描画されるのかを示す座標データとの組み合わせによって構成される。例えば、ＤＸＦファイル取得部１２２は、外部機器から送信されるＤＸＦファイルを、Ｉ／Ｆ部１１０を介して受信する。あるいは、ＤＸＦファイル取得部１２２は、メモリ１０４に記憶されているＤＸＦファイルを取得する。
【００２１】
ＤＸＦコマンドは、図３に示すように複数種類存在する。ＤＸＦコマンド「ＰＯＩＮＴ」は、１つの座標を指定するコマンドである。ＤＸＦコマンド「ＬＩＮＥ」は、１つの線分を指定するコマンドである。ＤＸＦコマンド「ＰＯＬＹＬＩＮＥ」は、３つの座標値で構成される三次元の図形を指定するコマンドである。ＤＸＦコマンド「ＬＷＰＯＬＹＬＩＮＥ」は、２つの座標値で構成される二次元の図形を指定するコマンドである。ＤＸＦコマンド「ＳＰＬＩＮＥ」は、自由曲線を指定するコマンドである。ＤＸＦコマンド「ＣＩＲＣＬＥ」は、円を指定するコマンドである。ＤＸＦコマンド「ＡＲＣ」は、円弧を指定するコマンドである。ＤＸＦコマンド「ＥＬＬＩＰＳＥ」は、楕円を指定するコマンドである。ＤＸＦコマンド「ＴＲＡＣＥ」は、太線を指定するコマンドである。ＤＸＦコマンド「ＳＯＬＩＤ」は、面の塗りつぶしを指定するコマンドである。ＤＸＦコマンド「ＢＬＯＣＫ」は、複数のＤＸＦコマンドにより描画された図形を１つにまとめたものを示すコマンドである。
【００２２】
再び、図２に戻って説明する。次に、制御部１０２内のデータ変換部１２４は、取得されたＤＸＦファイルに基づいて図形を描画する（ステップＳ１０２）。描画された図形の画像は、例えばモニタ１０６に表示される。
【００２３】
図４は、ＤＸＦファイルに基づいて描画される図形の一例を示す図である。ＤＸＦファイル内のＤＸＦコマンドと図形とは、例えば図４に示すように対応付けられる。具体的には、ＤＸＦコマンド「ＬＩＮＥ」（ＬＩＮＥ−ａ）に基づく線分と、ＤＸＦコマンド「ＬＩＮＥ」（ＬＩＮＥ−ｂ）に基づく線分、ＤＸＦコマンド「ＳＰＬＩＮＥ」に基づく自由曲線と、ＤＸＦコマンド「ＬＩＮＥ」（ＬＩＮＥ−ｃ）に基づく線分と、ＤＸＦコマンド「ＬＩＮＥ」（ＬＩＢＥ−ｄ）に基づく線分と、ＤＸＦコマンド「ＡＲＣ」（ＡＲＣ−ａ）に基づく円弧と、ＤＸＦコマンド「ＬＩＮＥ」（ＬＩＢＥ−ｅ）に基づく線分と、ＤＸＦコマンド「ＡＲＣ」（ＡＲＣ−ｂ）に基づく円弧と、ＤＸＦコマンド「ＬＷＰＯＬＹＬＩＮＥ」に基づく線分及び円弧の組み合わせとによって図４に示す図形が形成される。
【００２４】
再び、図２に戻って説明する。次に、データ変換部１２４は、ＤＸＦファイルと描画された図形とに基づいて、描画に用いたＤＸＦファイル毎に座標を特定する位置設定用データを設定する（ステップＳ１０３）。
【００２５】
具体的には、データ変換部１２４は、描画された図形のうち、ＤＸＦコマンド「ＰＯＩＮＴ」に基づく点については、その点の座標を位置設定用データとして設定する。
【００２６】
また、データ変換部１２４は、描画された図形のうち、ＤＸＦコマンド「ＬＩＮＥ」に基づく線分については、始点及び終点の座標を位置設定用データとして設定する。
【００２７】
また、データ変換部１２４は、描画された図形のうち、ＤＸＦコマンド「ＰＯＬＹＫＩＮＥ」及び「ＬＷＰＯＬＹＬＩＮＥ」に基づく図形については、始点及び終点の座標と頂点の座標とを位置設定用データに設定する。
【００２８】
また、データ変換部１２４は、描画された図形のうち、ＤＸＦコマンド「ＳＰＬＩＮＥ」に基づく自由曲線については、始点及び終点の座標と複数の通過点の座標とを位置設定用データに設定する。ここで通過点の間隔は自由に設定可能である。具体的には、作業者は、操作部１１２を用いて通過点の間隔の値を設定する操作を行う。データ変換部１２４は、この操作に応じた通過点の間隔の値を認識し、その通過点の間隔の値に応じて、複数の通過点の座標を位置設定用データに設定する。
【００２９】
また、データ変換部１２４は、描画された図形のうち、ＤＸＦコマンド「ＣＩＲＣＬＥ」に基づく円については３つの通過点の座標を位置設定用データに設定する。
【００３０】
また、データ変換部１２４は、描画された図形のうち、ＤＸＦコマンド「ＡＲＣ」に基づく円弧については始点、通過点及び終点の座標を位置設定用データに設定する。
【００３１】
また、データ変換部１２４は、描画された図形のうち、ＤＸＦコマンド「ＥＬＬＩＰＳＥ」に基づく楕円については複数の通過点の座標を位置設定用データに設定する。ここで通過点の間隔は楕円の中心からの角度により自由に設定可能である。具体的には、作業者は、操作部１１２を用いて通過点の間隔に対応する楕円の中心からの角度の値を設定する操作を行う。データ変換部１２４は、この操作に応じた楕円の中心からの角度の値を認識し、その角度で楕円を分割し、複数の分割位置の座標を通過点の座標として位置設定用データに設定する。なお、最初の通過点の座標は、最後の通過点の座標としても設定され、２つの位置設定用データが生成される。但し、楕円が閉じた形状でない場合には、最初の通過点の座標と最後の通過点の座標とは同一とはならず、更には、異なる座標である始点の座標と終点の座標とに対してそれぞれ位置設定用データが生成される。
【００３２】
また、データ変換部１２４は、描画された図形のうち、ＤＸＦコマンド「ＴＲＡＣＥ」に基づく太線については、頂点の座標を位置設定用データに設定する。なお、最初の頂点の座標は、最後の頂点の座標としても設定され、２つの位置設定用データが生成される。すなわち、太線に対して５つの位置設定用データが生成されることになる。
【００３３】
また、データ変換部１２４は、描画された図形のうち、ＤＸＦコマンド「ＳＯＬＩＤ」に基づく面については、面の外縁の複数の座標を通過点の座標として位置設定用データに設定する。なお、最初の通過点の座標は、最後の通過点の座標としても設定され、２つの位置設定用データが生成される。
【００３４】
また、データ変換部１２４は、描画された図形のうち、ＤＸＦコマンド「ＢＬＯＣＫ」に基づく図形については、当該コマンドを複数のＤＸＦコマンド（展開ＤＸＦコマンド）に展開した上で、各展開ＤＸＦコマンドに応じた位置設定用データを設定する。
【００３５】
図４に示す図形に対して位置設定用データが設定される際には、データ変換部１２４は、ＤＸＦコマンド単位で図５に示すように座標Ｐ１〜Ｐ５９を設定し、更には、図６に示すように座標Ｐ１〜Ｐ５９の識別情報である座標Ｎｏ．と、座標（Ｘ座標及びＹ座標）とが対応付けられた位置設定用データを設定する。例えば、座標Ｐ１、Ｐ２は、ＤＸＦコマンド「ＬＩＮＥ」（ＬＩＮＥ−ａ）に基づく線分の始点及び終点、座標Ｐ３、Ｐ４は、ＤＸＦコマンド「ＬＩＮＥ」（ＬＩＮＥ−ｂ）に基づく線分の始点及び終点である。上述したように、描画に用いたＤＸＦファイル毎に位置設定用データが設定されるため、座標Ｐ２と座標Ｐ３は同一位置であるが、２つの位置設定用データが設定されることになる。位置設定用データは、例えば、メモリ１０４に記憶される。座標Ｐ１〜Ｐ５２が設定された図形の画像と、位置設定用データとは、例えばモニタ１０６に表示される。
【００３６】
再び、図２に戻って説明する。次にデータ変換部１２４は、作業者による図形選択操作が行われたか否かを判定する（ステップＳ１０４）。具体的には、作業者は、操作部１１２を用いて、例えば、図５に示す図形の一部を選択する操作を行うことができる。
【００３７】
作業者による図形選択操作が行われた場合（ステップＳ１０４；ＹＥＳ）、データ変換部１２４は、作業者による図形選択操作で選択された図形の一部の描画に用いたＤＸＦコマンドを特定し、ＤＸＦコマンドとロボットの可動部の動作を制御するための制御コマンドとの対応関係に基づいて、制御コマンドを設定する（ステップＳ１０５）。
【００３８】
ＤＸＦコマンドと制御コマンドとは、図３に示すように対応付けられる。また、制御コマンドは、図７に示す内容となっている。
【００３９】
図７に示すように、制御コマンド「ＭＯＶＰ（ＭＯＶＰ（ａ））」は、座標ａへ各軸等速で移動することを指定するコマンドである。制御コマンド「ＭＯＶＬ（ＭＯＶＬ（ａ））」は、座標ａへ最短距離で直線移動することを指定するコマンドである。制御コマンド「ＰＡＴＨ（ＰＡＴＨ（ａ，ｂ））」は、図７に示すように、現在位置を始点とし、座標ａを最初の通過点、座標ｂを終点として、座標ａと座標ｂの間の座標を順次通過する線分、又は、線分の集合を指定するコマンドである。制御コマンド「ＣＩＲ２（ＣＩＲ２（ａ，ｂ））」は、現在位置と、座標ａ、ｂとを通過する円を指定するコマンドである。制御コマンド「ＡＲＣ２（ＡＲＣ２（ａ，ｂ））」は、現在位置を始点として座標ａを通過し、座標ｂを終点とする円弧を指定するコマンドである。
【００４０】
図３に示すように、ＤＸＦコマンド「ＰＯＩＮＴ」は、制御コマンド「ＭＯＶＰ」、「ＭＯＶＬ」、「ＰＡＴＨ」の何れかに対応付けられる。具体的には、ＤＸＦコマンド「ＰＯＩＮＴ」は、制御コマンド「ＭＯＶＰ（ＭＯＶＰ（ａ））」、「ＭＯＶＬ（ＭＯＶＬ（ａ））」、「ＰＡＴＨ（ＰＡＴＨ（ａ，ｂ））」の何れかに対応付けられ、ＤＸＦコマンド「ＰＯＩＮＴ」の座標を示す位置設定用データが座標ａ、ｂに設定される。
【００４１】
また、図３に示すように、ＤＸＦコマンド「ＬＩＮＥ」は、制御コマンド「ＰＡＴＨ（ＰＡＴＨ（ａ，ｂ）」に対応付けられる。ここで、現在位置がＤＸＦコマンド「ＬＩＮＥ」の始点の座標である場合には、ＤＸＦコマンド「ＬＩＮＥ」の終点の座標を示す位置設定用データが座標ａ、ｂの双方に設定される。この場合には、制御コマンド「ＰＡＴＨ（ａ，ｂ）」は、現在位置を始点とし、同一座標である座標ａ、ｂを終点とする線分を指定するコマンドとなる。一方、現在位置が例えば初期位置であって、ＤＸＦコマンド「ＬＩＮＥ」の始点の座標でない場合には、制御コマンド「ＰＡＴＨ（ａ，ｂ）」は、最初のコマンドとなり、ＤＸＦコマンド「ＬＩＮＥ」の始点の座標を示す位置設定用データが座標ａに設定され、終点の座標を示す位置設定用データが座標ｂに設定される。この場合には、制御コマンドＰＡＴＨ（ａ，ｂ）は、座標ａを始点とし、座標ｂを終点とする線分を指定するコマンドとなる。
【００４２】
また、図３に示すように、ＤＸＦコマンド「ＰＯＬＹＬＩＮＥ」及び「ＬＷＰＯＬＹＬＩＮＥ」は、線分の集合については制御コマンド「ＰＡＴＨ（ＰＡＴＨ（ａ，ｂ））」が対応付けられる。ここで、現在位置が線分の集合の始点である場合には、線分の集合における最初の通過点（頂点）の座標を示す位置設定用データが座標ａに設定され、線分の集合における終点の座標を示す位置設定用データが座標ｂに設定される。この場合には、制御コマンドＰＡＴＨ（ａ，ｂ）は、現在位置を始点とし、座標ａを最初の通過点、座標ｂを終点とする線分の集合を指定するコマンドとなる。一方、現在位置が例えば初期位置であって、ＤＸＦコマンド「ＬＩＮＥ」の始点の座標でない場合には、制御コマンドＰＡＴＨ（ａ，ｂ）は、最初のコマンドとなり、線分の集合における始点の座標を示す位置設定用データが座標ａに設定され、線分の集合における終点の座標を示す位置設定用データが座標ｂに設定される。この場合には、制御コマンドＰＡＴＨ（ａ，ｂ）は、座標ａを始点とし、座標ｂを終点とする線分の集合を指定するコマンドとなる。
【００４３】
一方、ＤＸＦコマンド「ＰＯＬＹＬＩＮＥ」及び「ＬＷＰＯＬＹＬＩＮＥ」は、円弧については制御コマンド「ＡＲＣ２（ＡＲＣ２（ａ，ｂ））」が対応付けられ、円弧の通過点の座標を示す位置設定用データが座標ａに設定され、円弧の終点の座標を示す位置設定用データが座標ｂに設定される。
【００４４】
また、図３に示すように、ＤＸＦコマンド「ＳＰＬＩＮＥ」は、制御コマンド「ＰＡＴＨ（ＰＡＴＨ（ａ，ｂ））」が対応付けられる。ここで、現在位置が自由曲線の始点である場合には、自由曲線の最初の通過点の座標を示す位置設定用データが座標ａに設定され、自由曲線の終点の座標を示す位置設定用データが座標ｂに設定される。この場合には、制御コマンドＰＡＴＨ（ａ，ｂ）は、現在位置を始点とし、座標ａを最初の通過点、座標ｂを終点とする線分の集合を指定するコマンドとなる。一方、現在位置が例えば初期位置であって、自由曲線の始点でない場合には、制御コマンドＰＡＴＨ（ａ，ｂ）は、最初のコマンドとなり、自由曲線の始点の座標を示す位置設定用データが座標ａに設定され、自由曲線の終点の座標を示す位置設定用データが座標ｂに設定される。この場合には、制御コマンドＰＡＴＨ（ａ，ｂ）は、座標ａを始点とし、座標ｂを終点とする線分の集合を指定するコマンドとなる。
【００４５】
また、図３に示すように、ＤＸＦコマンド「ＣＩＲＣＬＥ」は、制御コマンド「ＣＩＲ２（ＣＩＲ２（ａ，ｂ））」が対応付けられ、円の２つの通過点の座標を示す位置設定用データが座標ａ、ｂに設定される。
【００４６】
また、図３に示すように、ＤＸＦコマンド「ＡＲＣ」は、制御コマンド「ＡＲＣ２（ＡＲＣ２（ａ，ｂ））」が対応付けられ、円弧の通過点の座標を示す位置設定用データが座標ａに設定され、円弧の終点の座標を示す位置設定用データが座標ｂに設定される。
【００４７】
また、図３に示すように、ＤＸＦコマンド「ＥＬＬＩＰＳＥ」は、制御コマンド「ＰＡＴＨ（ＰＡＴＨ（ａ，ｂ））」が対応付けられ、楕円の最初の通過点の座標を示す位置設定用データが座標ａに設定され、楕円の最後の通過点の座標（最初の通過点の座標と同一）を示す位置設定用データが座標ｂに設定される。
【００４８】
また、図３に示すように、ＤＸＦコマンド「ＴＲＡＣＥ」は、制御コマンド「ＰＡＴＨ（ＰＡＴＨ（ａ，ｂ））」が対応付けられ、太線の最初の頂点の座標を示す位置設定用データが座標ａに設定され、太線の最後の頂点の座標（最初の頂点の座標と同一）を示す位置設定用データが座標ｂに設定される。
【００４９】
また、図３に示すように、ＤＸＦコマンド「ＳＯＬＩＤ」は、制御コマンド「ＰＡＴＨ（ＰＡＴＨ（ａ，ｂ））」が対応付けられ、最初の通過点の座標を示す位置設定用データが座標ａに設定され、最後の通過点の座標（最初の通過点の座標と同一）を示す位置設定用データが座標ｂに設定される。
【００５０】
また、図３に示すように、ＤＸＦコマンド「ＢＬＯＣＫ」は、複数のＤＸＦコマンド（展開ＤＸＦコマンド）に展開された上で、各ＤＸＦコマンドに対応する制御コマンドが設定される。
【００５１】
ステップＳ１０５において、例えば、データ変換部１２４は、作業者が図５における座標Ｐ１を始点、座標Ｐ２を終点とする線分を選択した場合、当該線分の描画に用いた図４のＤＸＦコマンド「ＬＩＮＥ−ａ」を特定する。更に、データ変換部１２４は、図３の対応関係に基づいて、特定したＤＸＦコマンド「ＬＩＮＥ−ａ」に対応する制御コマンド「ＰＡＴＨ」を生成する。また、例えば、データ変換部１２４は、作業者が図５における座標Ｐ５を始点、座標Ｐ３６を終点とする自由曲線を選択した場合、当該自由曲線の描画に用いたＤＸＦコマンド「ＳＰＬＩＮＥ」を特定する。更に、データ変換部１２４は、図３の対応関係に基づいて、特定したＤＸＦコマンド「ＳＰＬＩＮＥ」に対応する制御コマンド「ＰＡＴＨ」を生成することになる。
【００５２】
例えば、図５に示すように座標Ｐ１〜Ｐ５９が設定され、更に図６に示すように位置設定用データが設定された場合であって、且つ、作業者によってＤＸＦコマンドに基づいて描画された座標Ｐ１〜Ｐ５９を通過する図形の全てが座標番号順に選択された場合、図８に示すように制御コマンドが生成される。
【００５３】
具体的には、データ変換部１２４は、最初の制御コマンドについては、現在位置が例えば初期位置であるため、図４のＤＸＦコマンド「ＬＩＮＥ−ａ」に対応して、座標Ｐ１を始点とし、座標Ｐ２を終点とする線分を指定する制御コマンドＰＡＴＨ（Ｐ１，Ｐ２）を生成する。次に、データ変換部１２４は、図４のＤＸＦコマンド「ＬＩＮＥ−ｂ」に対応して、現在位置である座標Ｐ２から座標Ｐ４へ移動し、当該座標Ｐ４を始点及び終点とする制御用コマンドＰＡＴＨ（Ｐ４，Ｐ４）を生成する。次に、データ変換部１２４は、図４のＤＸＦコマンド「ＳＰＬＩＮＥ」に対応して、現在位置である座標Ｐ４から座標Ｐ６へ移動し、座標Ｐ６を始点、座標Ｐ３６を終点として、その間の座標Ｐ７〜Ｐ３５を通過する線分の集合を指定する制御コマンドＰＡＴＨ（Ｐ６，Ｐ３６）を生成する。次に、データ変換部１２４は、図４のＤＸＦコマンド「ＬＩＮＥ−ｃ」に対応して、現在位置である座標Ｐ３６から座標Ｐ３８へ移動し、当該座標Ｐ３８を始点及び終点とする制御用コマンドＰＡＴＨ（Ｐ３８，Ｐ３８）を生成する。次に、データ変換部１２４は、図４のＤＸＦコマンド「ＬＩＮＥ−ｄ」に対応して、現在位置である座標Ｐ３８から座標Ｐ４０へ移動し、当該座標Ｐ４０を始点及び終点とする制御用コマンドＰＡＴＨ（Ｐ４０，Ｐ４０）を生成する。次に、データ変換部１２４は、図４のＤＸＦコマンド「ＡＲＣ−ａ」に対応して、現在位置の座標Ｐ４０を始点として座標Ｐ４２を通過し、座標Ｐ４３を終点とする円弧を指定する制御コマンドＡＲＣ２（Ｐ４２，Ｐ４３）を生成する。次に、データ変換部１２４は、図４のＤＸＦコマンド「ＬＩＮＥ−ｅ」に対応して、現在位置である座標Ｐ４３から座標Ｐ４５へ移動し、当該座標Ｐ４５を始点及び終点とする制御用コマンドＰＡＴＨ（Ｐ４５，Ｐ４５）を生成する。次に、データ変換部１２４は、図４のＤＸＦコマンド「ＡＲＣ−ｂ」に対応して、現在位置の座標Ｐ４５を始点として座標Ｐ４７を通過し、座標Ｐ４８を終点とする円弧を指定する制御コマンドＡＲＣ２（Ｐ４７，Ｐ４８）を生成する。データ変換部１２４は、図４のＤＸＦコマンド「ＬＷＰＯＬＹＬＩＮＥ」に対応して、現在位置である座標Ｐ４８から座標Ｐ５０へ移動し、座標Ｐ５０を始点、座標Ｐ５５を終点として、その間の座標Ｐ５１〜Ｐ５４を通過する線分の集合を指定する制御コマンドＰＡＴＨ（Ｐ５０，Ｐ５５）と、現在位置の座標Ｐ５５を始点として座標Ｐ５６を通過し、座標Ｐ５７を終点とする円弧を指定する制御コマンドＡＲＣ２（Ｐ５６，Ｐ５７）と、現在位置である座標Ｐ５７から座標Ｐ５８へ移動し、座標Ｐ５８を始点、座標Ｐ５９を終点とする２つの線分を指定する制御コマンドＰＡＴＨ（Ｐ５８，Ｐ５９）とを生成する。
【００５４】
ステップＳ１０５において、制御コマンドが設定されると、更に、これらの制御コマンドを含んだ制御ソフトウェアが生成される。ステップＳ１０５における制御コマンドの設定後は、ステップＳ１０４以降の動作が繰り返される。
【００５５】
一方、作業者による図形選択操作が行われない場合（ステップＳ１０４；ＮＯ）、データ変換部１２４は、作業者による図形選択を終了する操作（選択終了操作）が行われたか否かを判定する（ステップＳ１０６）。選択終了操作が行われた場合（ステップＳ１０６；ＹＥＳ）、一連の動作が終了する。一方、選択終了操作が行われない場合（ステップＳ１０６；ＮＯ）、ステップＳ１０４以降の動作が繰り返される。
【００５６】
このように、本実施形態の制御ソフトウェア生成装置１００では、制御部１０２内のＤＸＦファイル取得部１２２は、ＣＡＤデータであるＤＸＦファイルを取得する。また、データ変換部１２４は、ＤＸＦファイルに基づいて位置設定用データを生成するとともに、図３に示すＤＸＦコマンドと制御コマンドとの対応付けに応じて、位置設定用データを含み、ロボットの可動部の動作を制御するための制御コマンドを生成する。
【００５７】
このように、ＤＸＦコマンドと組み合わされている座標をそのまま用いることができない場合があることを考慮して、新たに位置設定用データを設定して、その位置設定用データを含んだ制御コマンドが生成されるため、ロボットの可動部の動作制御に適したソフトウェアを生成することができる。
【００５８】
また、ＤＸＦコマンド「ＰＯＬＹＬＩＮＥ」、「ＬＷＰＯＬＹＬＩＮＥ」、「ＳＰＬＩＮＥ」に基づく複数の通過点を通過する線分の集合が存在する場合には、線分毎に制御コマンド「ＰＡＴＨ」が生成されるのではなく、１つの制御コマンド「ＰＡＴＨ」が生成されるため、ロボット制御時の処理負担の軽減や迅速な制御等を図ることが可能となる。
【００５９】
また、ＤＸＦコマンド「ＳＰＬＩＮＥ」に基づく自由曲線と、ＤＸＦコマンド「ＥＬＬＩＰＳＥ」に基づく楕円とについては、通過点の間隔は自由に設定可能である。このため、作業者の所望する間隔で通過点、位置設定用データを設定することができる。また、通過点の間隔を狭くした場合には、制御コマンドに基づくロボットの可動部の動作を、ＤＸＦコマンドにより描画される図形に近づけて精度の高い制御とすることができ、一方、通過点の間隔を狭くした場合には、位置設定用データの数や制御コマンドの数を少なくして制御コマンドに基づく制御時の処理負担を軽減することができる。
【００６０】
以上、実施形態について説明したが、本発明は上述の実施形態に限定されるものではない。
【００６１】
実施形態では、位置設定用データが設定された後、図形の始点から終点までの全体に対応する制御コマンドが生成されたが、これに限定されない。例えば、図５に示すように、位置設定用データに対応する座標が表示された状態で、作業者が操作部１１２を操作して、何れかの座標を指定した場合、その座標に関わる制御コマンドのみを生成するようにしてもよい。例えば、作業者によって座標Ｐ１、Ｐ２が指定された場合、データ変換部１２４は、座標Ｐ１を始点とし、座標Ｐ２を終点とする制御コマンドＰＡＴＨ（Ｐ１，Ｐ２）のみを生成する。この場合には、図形のうち、ロボットの制御に必要な箇所のみ制御コマンドを生成することが可能となる。
【００６２】
実施形態では、個別に制御ソフトウェア生成装置１００を設けたが、制御ソフトウェア生成装置１００の機能をロボット内部に設けるようにしてもよい。
【００６３】
また、実施形態において、実行されるプログラムは、フレキシブルディスク、ＣＤ−ＲＯＭ（Compact Disc Read-Only Memory）、ＤＶＤ（Digital Versatile Disc）、ＭＯ（Magneto-Optical disc）等のコンピュータ読み取り可能な記録媒体に格納して配布し、そのプログラムをインストールすることにより、上述の処理を実行するシステムを構成することとしてもよい。
【００６４】
また、プログラムをインターネット等のネットワーク上の所定のサーバが有するディスク装置等に格納しておき、例えば、搬送波に重畳させて、ダウンロード等するようにしてもよい。
【００６５】
本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施形態及び変形が可能とされるものである。上述した実施形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。
【符号の説明】
【００６６】
１００  制御ソフトウェア生成装置
１０２  制御部
１０４  メモリ
１０６  モニタ
１１０  Ｉ／Ｆ部
１１２  操作部
【図１】
2016120552.tif 000003
【図２】
2016120552.tif 000004
【図３】
2016120552.tif 000005
【図４】
2016120552.tif 000006
【図５】
2016120552.tif 000007
【図６】
2016120552.tif 000008
【図７】
2016120552.tif 000009
【図８】
2016120552.tif 000010