【事件の表示】
　特願２０１２−２８１３８２「ロボットによる数値制御プログラムの実行」拒絶査定不服審判事件〔平成２５年７月８日出願公開，特開２０１３−１３４７８６〕について，次のとおり審決する。
【結　論】
　本件審判の請求は，成り立たない。
【理　由】
１　手続きの経緯
　本願は，２０１２年（平成２４年）１２月２５日（パリ条約による優先権主張　２０１１年（平成２３年）１２月２２日，アメリカ合衆国）の出願であって，その後の手続きの概要は以下のとおりである。
　　平成２８年１０月２６日付け：拒絶理由通知
　　平成２９年　１月２３日　　：意見書及び手続補正書の提出
　　平成２９年　２月２８日付け：拒絶査定
　　平成２９年　７月　７日　　：審判請求
　
２　本願発明
　本願の請求項１ないし２０に係る発明は， 平成２９年１月２３日に手続補正された特許請求の範囲の請求項１ないし２０に記載された事項により特定されるものと認められるところ，その請求項１に係る発明（以下「本願発明」という。）は，以下のとおりのものである。 
「【請求項１】
　ロボットを制御するための方法であって，
　製造プロセスを実行するために，数値制御工作機械のコンピュータによって実行されるべく構成された数値制御言語プログラムを，中央演算処理装置に接続された大容量記憶装置に記録するステップと，
　数値制御言語の位置コマンドの各々を，ロボット言語の位置コマンドに変換するとともに，数値制御言語の雑コードコマンドの各々を，ロボット言語のサブプログラムに変換するための離散的な構成命令を有する，予め定められた変換構成テーブルに基づいて，前記数値制御言語プログラムをロボット言語プログラムに変換すべく，前記中央演算処理装置を操作するステップと，
　前記ロボット言語の位置コマンドと，前記ロボット言語のサブプログラムとを，前記ロボット言語プログラムとして，前記大容量記憶装置に記録するステップと，
　前記大容量記憶装置と前記ロボットに接続されたロボット制御装置を用いて，前記ロボットの稼働時間において前記ロボット言語プログラムを実行し，前記製造プロセスを実行するステップと，を備える方法。」
　
３　原査定の拒絶の理由
　原査定の拒絶の理由は，この出願の請求項１に係る発明は，本願の優先権主張の日（以下「優先日」という。）前に日本国内又は外国において，頒布された又は電気通信回線を通じて公衆に利用可能となった下記の引用文献１に記載された発明に基づいて，その優先日前にその発明の属する技術の分野における通常の知識を有する者が容易に発明をすることができたものであるから，特許法２９条２項の規定により特許を受けることができない，というものである。
　
引用文献１：特開２０００−１９４４０９号公報
　
４　引用文献の記載及び引用発明
（１）引用文献１の記載
　引用文献１には，以下の事項が記載されている。
　
　ア　出願時の【請求項１】
「【請求項１】　数値制御装置の動作を制御するＮＣプログラムをストアするＮＣプログラムメモリと，
ＮＣプログラムの複数種類の命令と，ロボットの動作を制御するロボットプログラムの複数種類の命令とを，対応してストアする変換用メモリと，
ＮＣプログラムメモリにストアされているＮＣプログラムを読出して，その読出したＮＣプログラムの命令に対応して変換用メモリにストアされているロボットプログラムの命令を読出し，その読出したロボットプログラムの命令を出力するプログラム変換手段とを含むことを特徴とするロボットのプログラム変換装置。」
　
　イ　出願時の【０００４】
「【０００４】
【発明が解決しようとする課題】本発明の目的は，数値制御装置の動作を制御するＮＣプログラムを，産業用ロボットの動作を制御するロボットプログラムに変換することができるようにしたロボットのプログラム変換装置を提供することである。」
　
　ウ　出願時の【００２１】〜【００２４】
「【００２１】
【発明の実施の形態】図１は，本発明の実施の一形態の全体の構成を示すブロック図である。フロッピディスク１またはハードディスク２などの記録媒体３にストアされたＮＣプログラムは，パーソナルコンピュータなどによって実現されるプログラム変換装置４に与えられ，産業用ロボット５のためのロボットプログラムに変換される。ロボット５は，複数軸，たとえば６軸を有するロボット本体６と，このロボット本体６の各軸を駆動するためのモータの電流などを制御するサーボユニット７とを含む。
【００２２】図２は，図１に示される本発明の実施の一形態の電気的構成をさらに詳しく説明するためのブロック図である。記録媒体３にストアされたＮＣプログラムは，読取り手段８によって読取られ，マイクロコンピュータなどによって実現される処理回路９によってＮＣプログラムメモリ１０にストアされる。こうしてＮＣプログラムメモリ１０には，数値制御装置の動作を制御するＮＣプログラムがストアされる。
【００２３】処理回路９にはまた，変換用メモリ１１が接続される。この変換用メモリ１１には，ＮＣプログラムの複数種類の各命令と，ロボット５の動作を制御するロボットプログラムの複数種類の各命令とを対応してストアする。したがって処理回路９は，ＮＣプログラムメモリ１０にストアされているＮＣプログラムを読出して，その読出したＮＣプログラムの命令に対応して変換メモリ１１にストアされているロボットプログラムの命令を読出す。こうして読出されたロボットプログラムの命令は，サーボユニット７に与えられ，ロボット本体６が動作される。
【００２４】本発明の実施の他の形態では，処理回路９によって変換されたロボットプログラムを，もう１つのメモリ１２に転送してストアし，このメモリ１２にストアされたロボットプログラムを読出して，サーボユニット７に与えるようにしてもよい。メモリ１２は，前述の携帯可能な記録媒体３と同様な記録媒体であってもよい。」
　
　エ　出願時の【００２９】
「【００２９】図５は，前述の図２における変換装置４の処理回路９の動作を説明するためのフローチャートである。ステップａ１からステップａ２に移り，記録媒体３にストアされているＮＣプログラムが読出され，ＮＣプログラムメモリ１０にストアされる。ステップａ３では，変換メモリ１１のストア内容に基づき，プログラムの変換動作を行う。ＮＣプログラムの複数種類のたとえばＧコードに従う命令は，表１に示されるようにロボットプログラムの複数種類の各命令に対応して，変換メモリ１１にストアされる。」
　
　オ　出願時の表１
　
　カ　出願時の【００３１】〜【００３２】
「【００３１】表１におけるiii，mmm，nnn はｘ，ｙ，ｚ座標数値であり，ＮＣプログラムでは，たとえばＧ９０Ｘ９０．Ｙ１００．Ｚ１０５．と表される。
【００３２】こうして得られた変換後のロボットプログラムは，ステップａ４において，処理装置４に着脱可能なボードであるロボットコントローラとしての制御用ＣＰＵ（Central Processing Unit）ボード１８に与えられ，その出力はロボット５のサーボユニット７に与えられ，またはメモリ１２にストアされて出力される。こうしてステップａ５では一連の動作を終了する。このようなボード１８を，既存のパーソナルコンピュータに搭載することによって，本発明の変換装置を容易に実現することができる。処理回路９からのプログラムが，マイクロコンピュータである処理回路とメモリとを含む前述のボード１８に与えられ，これによってサーボユニット７には，各軸毎の位置指令データ，速度指令データおよびトルク指令データなどの各指令データが出力されて与えられる。」
　
　キ　出願時の図２
　
（２）引用発明
　ア　引用文献１には，数値制御装置の動作を制御するＮＣプログラムを，産業用ロボットの動作を制御するロボットプログラムに変換するプログラム変換装置を提供することを目的として（上記（１）イ），ＮＣプログラムをロボットプログラムに変換するプログラム変換装置（上記（１）ア）に係る物の発明が記載されているところ，当該プログラム変換装置によって実行されるプログラム変換方法に係る方法の発明についても記載されているということができる。
　
　イ　また，表１（上記（１）オ）の第２行には，「Ｇ９０ＸｉｉｉＹｍｍｍＺｎｎｎ」というＮＣプログラム命令を，「ＬＭＯＶＥ　ＴＡＮＳ（ｉｉｉ，ｍｍｍ，ｎｎｎ）というロボット命令に変換する旨の記載があるところ，ｉｉｉ，ｍｍｍ，ｎｎｎは，ｘ，ｙ，ｚ座標数値（上記（１）カ）であるから，当該変換は，ＮＣプログラムの位置命令をロボットプログラムの位置命令に変換するものといえる。
　
　ウ　また，表１の最終行には，「Ｍ０６」というＮＣプログラム命令を，「ＰＡＵＳＥ」というロボット命令に変換する旨の記載があるところ，「Ｍ０６」は「Ｍ」で始まる命令であるから，いわゆるＭコード命令であることは明らかである。
　
　エ　また，表１には，１つの数値制御言語のコマンドが，１つのロボット言語に対応するように変換する旨の記載があり，すなわち離散的に対応するように変換するものといえる。
　
　オ　引用文献１のこれらの記載事項を，技術常識をふまえて整理すると，引用文献１には，次の発明（以下「引用発明」という。）が記載されているということができる。
「ロボット本体（６）を制御するための方法であって，
数値制御装置の動作を制御するＮＣプログラムを，処理回路（９）に接続されたＮＣプログラムメモリ（１０）にストアするステップと，
　ＮＣプログラムの位置命令の各々を，ロボットプログラムの位置命令に変換するとともに，ＮＣプログラムのＭコード命令の各々をロボットプログラムの命令に変換するための変換用メモリ（１１）のストア内容に基づいて，前記ＮＣプログラムをロボットプログラムに変換すべく，前記処理回路（９）を操作するステップと，
　前記ロボットプログラムの位置命令と，前記ロボットプログラムの命令とを，前記ロボットプログラムとして，メモリ（１２）にストアするステップと，
　前記メモリ（１２）と前記ロボット本体（６）に接続されたサーボユニット（７）を用いて前記ロボットプログラムを実行するステップと，を備える方法。」
　
５　対比
　本願発明と引用発明を対比すると，以下のとおりとなる。
　引用発明の「ロボット本体（６）」は，本願発明の「ロボット」に相当することは明らかであり，同様に「数値制御装置の動作を制御するＮＣプログラム」は，「製造プロセスを実行するために，数値制御工作機械のコンピュータによって実行されるべく構成された数値制御言語プログラム」に，「処理回路（９）」は，「中央演算処理装置」に，「ロボットプログラム」は，「ロボット言語プログラム」に，それぞれ相当する。
　また，引用発明の「ＮＣプログラムメモリ（１０）」は，本願発明の「大容量記録装置」と，「記憶装置」という点で一致し，引用発明の「ストア」が本願発明の「記録」に相当する。
　また，本願発明における「雑コード」は，本願明細書【０００６】，【００３０】−【００３３】の記載内容からして，数値制御言語プログラムにおけるＭコードを意味しているといえるから，引用発明の「Ｍコード」は，本願発明の「雑コード」に相当する。
　そして，引用発明において「ＮＣプログラムの位置命令の各々を，ロボットプログラムの位置命令に変換する」ことは，本願発明において「数値制御言語の位置コマンドの各々を，ロボット言語の位置コマンドに変換する」ことに相当し，引用発明において「ＮＣプログラムのＭコード命令の各々をロボットプログラムの命令に変換する」ことと，本願発明において「数値制御言語の雑コードコマンドの各々を，ロボット言語のサブプログラムに変換する」ことは，「数値制御言語の雑コードコマンドの各々を，雑コードに対応するロボット言語に変換する」点で一致する。したがって，引用発明の「変換用メモリ（１１）のストア内容」は，本願発明の「離散的な構成命令を有する，予め定められた変換構成テーブル」に相当する。
　また，引用発明の「メモリ（１２）」と，本願発明の「大容量記憶装置」は，「記憶装置」という点で一致している。
　そして，引用発明の「サーボユニット（７）」は，本願発明の「ロボット制御装置」に相当し，「前記ロボットプログラムを実行するステップ」は，「前記ロボットの稼働時間において前記ロボット言語プログラムを実行し，前記製造プロセスを実行するステップ」に相当する。
　
（１）一致点
　本願発明と引用発明は，以下の構成において一致する。
「ロボットを制御するための方法であって，
　製造プロセスを実行するために，数値制御工作機械のコンピュータによって実行されるべく構成された数値制御言語プログラムを，中央演算処理装置に接続された記憶装置に記録するステップと，
　数値制御言語の位置コマンドの各々を，ロボット言語の位置コマンドに変換するとともに，数値制御言語の雑コードコマンドの各々を，雑コードに対応するロボット言語に変換するための離散的な構成命令を有する，予め定められた変換構成テーブルに基づいて，前記数値制御言語プログラムをロボット言語プログラムに変換すべく，前記中央演算処理装置を操作するステップと，
　前記ロボット言語の位置コマンドと，前記雑コードに対応するロボット言語とを，前記ロボット言語プログラムとして，記憶装置に記録するステップと，
　記憶装置と前記ロボットに接続されたロボット制御装置を用いて，前記ロボットの稼働時間において前記ロボット言語プログラムを実行し，前記製造プロセスを実行するステップと，を備える方法。」
　
（２）相違点
　本願発明と引用発明は，以下の点で相違する。
　ア　相違点１
　「記憶装置」が，本願発明では，１つの「大容量記憶装置」であるのに対して，引用発明では，２つの「ＮＣプログラムメモリ（１０）」及び「メモリ（１２）」であり，それらが大容量であるかどうか不明である点。
　
　イ　相違点２
　「変換構成テーブル」が，本願発明では，「数値制御言語の雑コードコマンドの各々を，ロボット言語のサブプログラム」に変換するのに対し，引用発明では，「Ｍコード命令の各々をロボットプログラムの命令」に変換するものである点。
　
６　判断
（１）相違点１について
　記憶装置の容量をどの程度のものとするかは，記録したい情報量に応じて適宜決定し得るものであるし，記録する情報の種類に応じて個別の記憶装置を設けるか，あるいは１つの記憶装置に複数種類の情報を記録するかは，適宜に選択すれば良い程度の事項にすぎない。
　したがって，引用発明において，記憶装置を１つの大容量記憶装置として構成し，数値制御言語プログラムと，ロボット言語プログラムを記録することは，当業者であれば容易になし得たことである。
　
（２）相違点２について
　引用文献１には，数値制御言語プログラムの雑コードコマンド（Ｍコード）をロボット言語プログラムに変換する例として，サブルーチン（本願発明の「サブプログラム」に相当）呼出しコマンドの「Ｍ９８Ｐ１１」を「ＣＡＬＬ　Ｐ１１」へと変換する事項が記載されており（上記４（１）オ），本願発明と同様に引用発明でも，サブプログラムを扱っている。また，当該サブプログラムはロボットを制御するものであるから，ロボット言語によって記述されることは当然である。
　そして，本願発明の方法に係るロボット言語プログラムの動作に関して，メインプログラムにおいては，雑コードコマンドに対応する命令を実行せずに，メインプログラムからサブプログラムに移行し，サブプログラムにおいて雑コードコマンドに対応する命令を実行するものと理解するほかない。これに対して，引用文献１では，例えば「Ｍ０６」という数値制御言語の雑コードコマンドは，「ＰＡＵＳＥ」というロボット言語のプログラムに変換されている（上記４（１）オ）から，メインプログラムにおいて，雑コードコマンドに対応する命令が直接に実行されている。しかし，上記のとおり，引用文献１に係るロボット言語プログラムも，メインプログラムとサブプログラムを有しているし，ロボット言語プログラムにおいて，メインプログラムのどの部分をサブプログラムとして切り出すのかは，当業者が適宜決定し得る事項であるから，引用発明のように，雑コードコマンドの各々をロボット言語プログラムに変換することに代えて，雑コードコマンドの各々をロボット言語のサブプログラムとして変換することは，当業者が適宜決定し得る程度の事項にすぎない。
　
（３）請求人の主張について
　請求人は，審判請求書の「３．本願が特許されるべき理由について」において，「しかしながら，本願発明の『数値制御言語の雑コードコマンドの各々を，ロボット言語のサブプログラムに変換する』との事項は，引用文献１からは容易に想到され得ないと思料する。
　具体的には，本願発明では，『数値制御言語の雑コードコマンドの各々を，ロボット言語のサブプログラムに変換する』と記載されているように，全ての雑コードコマンドが，ロボット言語のサブプログラムに変換される。 
　対照的に，引用文献１の表１には，ＮＣプログラム命令『Ｍ０６』がロボット動作命令『ＰＡＵＳＥ（一時停止）』に変換されることが開示されており，ロボット動作命令『ＰＡＵＳＥ』は，サブプログラムであるとは見受けられない。したがって，引用文献１では，ＮＣプログラム命令『Ｍ０６』がロボット言語のサブプログラムに変換されておらず，全ての雑コードコマンドがロボット言語のサブプログラムに変換されてはいないと思料する。したがって，本願発明の『数値制御言語の雑コードコマンドの各々を，ロボット言語のサブプログラムに変換する』との事項は，引用文献１からは容易に想到され得ないと思料する。」と主張している。
　
　しかしながら，上記「相違点２について」において記載したとおり，引用文献１に係るロボット言語プログラムも，メインプログラムとサブプログラムとを有しているし，ロボット言語プログラムにおいて，メインプログラムのどの部分をサブプログラムとして切り出すかは，当業者が適宜決定し得る事項であるから，全ての雑コードコマンドをロボット言語のサブプログラムに変換することは，引用文献１から当業者が容易に導き出せる事項であり，出願人の主張は採用し得ない。
　
７　むすび
　以上のとおり，本願発明は，その優先日前に頒布された引用文献１に記載された発明に基づいて，その発明の属する技術の分野における通常の知識を有する者が容易に発明をすることができたものであるから，特許法２９条２項の規程により特許を受けることができない。
　したがって，他の請求項に係る発明について検討するまでもなく，本願は拒絶すべきものである。
　よって，結論のとおり審決する。