知財高等裁判所 平成23年(行ケ)10154号 判決 2012年9月27日
原告
株式会社アイエイアイ
訴訟代理人弁護士
椙山敬士
同
大澤恒夫
同弁理士
牛久健司
同
島野美伊智
同弁護士
市川穣
同
曽根翼
同
片山史英
被告
ヤマハ発動機株式会社
訴訟代理人弁護士
塚原朋一
同
小松陽一郎
同
福田あやこ
同
辻村和彦
同
山崎道雄
同
藤野睦子
同弁理士
小谷悦司
同
小谷昌崇
同
大月伸介
同
佐藤興
主文
1 原告の請求を棄却する。
2 訴訟費用は原告の負担とする。
事実及び理由
第1請求
特許庁が無効2010-800126号事件について平成23年3月28日にした審決を取り消す。
第2争いのない事実
1 特許庁における手続の経緯
被告は,発明の名称を「複数ロボットの制御装置」とする特許第3542615号(請求項の数は2。以下「本件特許」という。)の特許権者である。
本件特許は,平成5年2月26日に出願され(特願平5-38288号),平成16年4月9日に設定登録された。
原告は,平成22年7月21日付けで本件特許の請求項1に係る発明の特許につき無効審判を請求したが(無効2010-800126号。以下「本件無効審判」という。),平成23年3月28日,「本件審判の請求は,成り立たない。」との審決(以下「本件審決」という。)がされ,同年4月7日,原告に審決謄本が送達された。
2 特許請求の範囲の記載
平成15年3月24日付け手続補正書(甲1の7)によって補正された特許請求の範囲【請求項1】の記載は,次のとおりである(A~Hの符号は審決において付加。なお,平成15年3月24日付け手続補正書及び平成16年3月3日付け手続補正書(甲1の9)による補正後の明細書及び図面を総称して「本件明細書等」という。)。
A 複数のロボットを,これらロボットの駆動軸の総数以上の数のドライバーを有するコントローラにより制御する装置であって,
B 上記各ドライバーと上記複数のロボットの各駆動軸との対応関係を変更可能に設定する設定手段と,
C 上記対応関係の設定に基づいて各ドライバーに対応する駆動軸の属性を示すデータを書き換え可能に記憶する各軸属性記憶部と,
D 上記各ドライバーと上記各駆動軸との対応関係に応じてドライバーの処理条件を決定する処理条件決定手段と,
E 駆動すべきロボットおよび駆動軸を特定する駆動対象指定と移動位置を特定する移動位置指定とを含む移動命令を示すデータを入力する移動命令入力手段と,
F 上記移動命令入力手段により入力されたデータと上記各属性記憶手段から読み出したデータとの照合に基づき,上記移動命令を判別して駆動対象に対応するドライバーを選定する移動命令判別手段と,
G 上記移動命令判別手段により選定されたドライバーにつき,上記処理条件決定手段により決定される処理条件と上記移動命令で指定される移動位置とに基づいて処理内容を求め,この処理内容に従ってドライバーを制御する制御手段とを備えた
H ことを特徴とする複数ロボットの制御装置。
(以下「本件発明」といい,上記項分けに従って,各構成要件を「構成要件A」~「構成要件H」という。)
3 審決の理由
別紙審決書写しのとおりであり,その要旨は,次のとおりである。
(1) 無効理由1(特許法36条4項違反)について
請求人(原告)は「対応関係を変更可能に設定する」という文言を捉え,各ドライバーと各駆動軸のモータの個々の接続関係を変更することに関して,本件明細書等の記載が当業者が容易に実施することができる程度に記載されていないと主張するが,本件発明の複数ロボットの制御装置が,上記接続関係自体を変更することを意図したものでなく,対応関係を制御装置内に設定しているものであることは明らかである。したがって,特許請求の範囲の記載は,構成要件Bに関して,平成6年法律第116号附則6条2項により「なお従前の例による」とされる同法による改正前の特許法(以下,単に「特許法」という。)36条4項に規定する要件を満たしていないとすることはできない。
(2) 無効理由2(特許法36条5項1号違反)について
無効理由1についての判断で示したように,特許請求の範囲の記載は構成要件Bに関して,発明の詳細な説明に記載(明細書の【0018】~【0020】)したものである。したがって,特許請求の範囲の記載は,構成要件Bに関して,特許法36条5項1号に規定する要件を満たしていないとすることはできない。
(3) 無効理由3(特許法36条5項2号違反)について
構成要件Bに関して,特許請求の範囲の記載は,無効理由1についての判断で示したと同様に,対応関係を変更可能に設定する点に関して明確である。構成要件Cに関して,特許請求の範囲の記載は,「上記対応関係の設定」が表す点は明らかであり,「各ドライバーに対応する駆動軸の属性を示すデータ」は,上記対応関係が変更されればドライバーに対応する駆動軸も変更され,駆動軸の属性もそれに応じて変更されるものであることは明らかであるから,その変更に応じて,軸属性記憶部が各軸の属性を「書き換え可能に」記憶するということであり,明確である。構成要件Dに関して,特許請求の範囲の記載は,ドライバーの処理条件を決定する処理条件決定手段が,構成要件Bで設定されたドライバーと駆動軸の対応関係の変更に応じて,すなわち,分配設定手段41の変更に対応してドライバーの処理条件を決定するというものであり,ドライバーの処理条件を決定する点に関して,明確である。構成要件Fについて,特許請求の範囲の記載は,移動命令判別手段がドライバーを選定するに当たって,読み出したドライバーの属性に関するデータと移動命令入力手段により入力されたデータと照合するものであるから,同記載の「各属性記憶手段」が示すのは,本件明細書等【0024】及び【図2】の記載から,構成要件Cの「上記対応関係の設定に基づいて各ドライバーに対応する駆動軸の属性を示すデータを書き換え可能に記憶する各軸属性記憶部と,」で示される「各軸属性記憶部」であることは,明らかである。以上のとおり,特許請求の範囲の記載に関し,特許法36条5項2号に規定する要件を満たしていないとすることはできない。
第3当事者の主張
1 取消事由に関する原告の主張
本件審決は,無効理由1についての認定・判断を誤り(取消事由1),無効理由2についての判断を誤り(取消事由2),無効理由3についての判断を誤り(取消事由3),「その他の記載不備」についての判断を遺脱した(取消事由4)ものであって,本件審決の結論に影響を及ぼすから,違法として取り消されるべきである。
(1) 無効理由1についての認定・判断の誤り(取消事由1)
ア 本件審決は,無効理由1に関して本件明細書等における開示の認定を誤り,その結果,判断を誤っているから取り消されるべきである。
イ 本件明細書等における開示の認定誤り
無効理由1は,本件発明の構成要件Bに関連して,本件明細書等の発明の詳細な説明には当業者が容易に実施をすることができる程度に発明の構成が記載されていないから,本件明細書等の発明の詳細な説明は,特許法36条4項の要件を満たしていないというものである。同無効理由は,本件発明の構成要件Bに関して,本件明細書等の発明の詳細な説明に,当業者が容易に実施できる程度に発明の構成が記載されているかどうかの問題であるから,本件明細書等の発明の詳細な説明に開示された内容を正しく認定することが前提であるが,本件審決は,以下に示す諸点において,本件明細書等の開示を正しく認定していない。
a 本件審決は【図5】(a)~(d)に全く言及していないこと
構成要件Bに規定される「上記各ドライバーと上記複数のロボットの各駆動軸との対応関係」の一例は,本件明細書等の【0025】及び【図5】(a)~(d)の記載以外にはあり得ないにもかかわらず,本件審決は上記記載に全く触れていない。
b 本件発明の「対応関係」は物理的接続関係ではないこと
本件審決は,「「各ドライバーと複数のロボットの各駆動軸との対応関係」自体は,各ドライバーが各駆動軸のモータに対応していることを示すものであり,各ドライバーが各駆動軸のモータに個々に接続され,軸駆動の電力を供給していることを鑑みれば,もとより自明な事項である」(16頁23行~26行)として,本件発明の「対応関係」を物理的接続関係に限局している。しかしながら,本件明細書等における【発明が解決しようとする課題】(【0004】~【0007】),【作用】(【0010】),【発明の効果】(【0045】)等の記載をみれば,本件発明における「各ドライバーと複数のロボットの各駆動軸との対応関係」とは,ロボットの軸数,組合せ等が種々変わった場合でも汎用性に富むようにするために,ソフトウェア上ないしはデータ上で操作ないしは調整されるべき事柄であることは明らかであり,物理的接続関係を問題にしているものではない。
c 軸定義フラッグADFは「対応関係」を表すものではないこと
本件審決は,「軸定義フラッグADFに関して,発明の詳細な説明に,上記対応関係が書き換え可能に記録されていると記載されている点(明細書の【0018】~【0020】)……」(16頁26行~29行)と認定しているが,本件明細書等の【0018】~【0020】には「上記対応関係が書き換え可能に記録されている」などとは記載されていない。本件明細書等の【0018】~【0020】は,軸定義フラッグADFに関する説明であり,軸定義フラッグADFは構成要件Cの「駆動軸の属性を示すデータ」の実施例である。
ウ 無効理由1についての判断の誤り
(ア) 本件審決は,「「対応関係を変更可能に設定する設定手段」は,上記対応関係が記録され,その記録された対応関係が対応関係の変更に応じて,書換え作業が手作業にしろ自動設定であるにしろ,書き換え可能であることを示すのは明らかであって,構成要件Bに関して,本件明細書等に,当業者にとって実施することができない程の記載不備はない」(16頁29行~33行)と判断したが,誤りである。
(イ) 「各ドライバーと複数のロボットの各駆動軸との対応関係」の具体例は【図5】(a)~(d)に示されたものであるのであるから,上記「対応関係を変更可能に設定する設定手段」を具体的に説明しようとすれば,少なくともブロック図ないしはフローチャート,又はそれらに相当する詳細な文章が必要となる。上記「書換え作業が手作業にしろ自動設定であるにしろ」の具体的内容こそが本件明細書等に記載されていなければならない(「手作業」の場合には,手作業を誘導するための表示画面,表示処理等,手作業で操作されたものをコンピュータがどのように受入れて設定するかを示す処理等を含む具体的処理の開示が必要であり,「自動設定」の場合には,いかにして自動的に設定するのかという具体的処理の開示が要請される。)が,そのような記載がない以上,「当業者にとって実施することができない程の記載不備」があるといわざるを得ない。
続いて,本件審決は,「本件発明の複数ロボットの制御装置が,上記接続関係自体を変更することを意図したものではなく……」(17頁1行~2行)と説示するが,本件発明の目的が「ロボットの軸数,組合せ等が種々変わった場合の汎用性に富む複数ロボットの制御装置を提供すること」(【0007】)にある以上,対応関係の変更は本件発明においては極めて重要なファクタであって,これを無視するようなことはできない。本件審決は,一方では,「対応関係」自体は各ドライバーと各駆動軸のモータとの接続関係を指す旨の判断をし(16頁23行~26行)(そうであるならば,構成要件Bの「対応関係を変更可能に設定する設定手段」は上記接続関係を変更可能に設定する設定手段ということになる。),他方では,本件発明は「上記接続関係自体を変更することを意図したものではなく……」と矛盾した判断をしている。
さらに,本件審決は「対応関係を制御装置内に設定しているものであることは明らかである」(17頁2行ないし3行)としたが,制御装置内に設定されていることが明らかな対応関係が,どのような形態で,どこに存在するのかが不明である。
(2) 無効理由2についての判断の誤り(取消事由2)
ア 本件審決は,無効理由2に関して判断を誤っているから取り消されるべきである。
イ 無効理由2は,構成要件Bは発明の詳細な説明に記載したものではないから,特許請求の範囲は特許法36条5項1号に規定する要件を満たしていないというものである。
本件審決は,「無効理由1についての判断で示したように,特許請求の範囲の記載は構成要件Bに関して,発明の詳細な説明に記載(明細書の【0018】~【0020】)したものである。/したがって,特許請求の範囲の記載は,構成要件Bに関して,特許法第36条第5項第1号に規定する要件を満たしていないとすることはできない」(17頁7行~11行。「/」は改行を示す。)と判断したが,上記(1)のとおり,構成要件Bに関して,本件明細書等の発明の詳細な説明には当業者が容易に実施をすることができる程度に発明の構成が記載されていない。本件明細書等の【0018】~【0020】は,軸定義フラッグADFについて記載しているのみで,構成要件Bの「上記各ドライバーと上記複数のロボットの各駆動軸との対応関係を変更可能に設定する設定手段」に関しては一切説明するものではない。
したがって,構成要件Bをサポートする記載は,本件明細書等にはない。
(3) 無効理由3についての判断の誤り(取消事由3)
ア 本件審決は,無効理由3に関して判断を誤っているから取り消されるべきである。
イ 無効理由3は,構成要件B,C,Dに関して,特許請求の範囲の請求項1の記載は不明りょうな部分を含み,特許を受けようとする発明を明確に把握することができないから,請求項1は特許を受けようとする発明の構成に欠くことができない事項のみを記載した項に区分してあるとはいえず,特許法36条5項2号に規定する要件を満たしていないというものである。
ウ 構成要件Bについて
上記(1),(2)で述べたとおり,構成要件Bの記載は「対応関係を変更可能に設定する設定手段」に関して不明確である。したがって,本件審決の「無効理由1についての判断で示したと同様に,対応関係を変更可能に設定する点に関して明確である」(17頁13行~15行)とした判断は,誤りである。
エ 構成要件Cについて
(ア) 上記(1),(2)で述べたとおり構成要件Bの「上記対応関係を……設定」が不明確であるから,構成要件Cの「上記対応関係の設定に基づいて」も,同様に不明確である。
(イ) 構成要件Cの「上記対応関係の設定に基づいて各ドライバーに対応する駆動軸の属性を示すデータを書き換え可能に記憶する」も,不明確である。
構成要件Cの「対応関係の設定に基づいて各ドライバーに対応する駆動軸の属性を示すデータを書き換え可能に記憶する」の技術的意味は,不明である。構成要件Cの「各軸属性記憶部」に,「各ドライバーに対応する駆動軸の属性を示すデータを書き換え可能に記憶」させるのは「誰」(又は「何」)であろうか。コントローラ(制御装置)であろうか。しかし,本件明細書等にはコントローラが駆動軸の属性を示すデータを書き換える処理については記載されていない。さらに,本件明細書等には,コントローラが「上記対応関係の設定に基づいて」駆動軸の属性を示すデータを書き換える処理についても記載されていない。人間が行うのであろうか。人間が「駆動軸の属性を示すデータ」を「各軸属性記憶部」に記憶させ,かつ,これを書き換えることはあり得るが,そのように解釈すると,「上記対応関係の設定に基づいて」が解釈できなくなる。人間が「上記対応関係」を知っているならば,その知っている「上記対応関係」に基づいて書き換えを行えば足りるが,この場合,構成要件Bの「対応関係」の「設定手段」そのものは意味を失う(「対応関係」は人間の頭の中にあれば足りることになってしまい,制御装置が「設定手段」を備えている必要はない)。
この点について,本件審決は,「「各ドライバーに対応する駆動軸の属性を示すデータ」は,上記対応関係が変更されればドライバーに対応する駆動軸も変更され,駆動軸の属性もそれに応じて変更されるものであることは明らかであるから,その変更に応じて,軸属性記部が各軸の属性を「書き換え可能に」記憶するということであり,明確である」(17頁18行~22行)と判断したが,そもそも「対応関係」とは,構成要件Bによれば,「各ドライバーと複数のロボットの駆動軸との対応関係」であるから,「上記対応関係が変更されればドライバーに対応する駆動軸も変更され」とは,「Aが変更されればAも変更され」るということを述べているにすぎず,意味がない。構成要件Cは,「上記対応関係の設定に基づいて各ドライバーに対応する駆動軸の属性を示すデータを書き換え可能に記憶する各軸属性記憶部」であり,どこにも「対応関係の変更」,「駆動軸の属性の変更」などという記載はない。存在しない記載を補って説明しなければならないこと(すなわち,「変更」という用語を補わなければ,「書き換え可能に記憶する」を説明できないこと)自体が,構成要件Cの記載が不明確であるということを示している。
オ 構成要件Dについて
(ア) 構成要件Dは,「上記各ドライバーと上記各駆動軸との対応関係に応じて」と構成要件Bの記載を引用しているが,上記(1),(2)で述べたとおり構成要件Bが不明確であるから,構成要件Dの記載も不明確である。
(イ) 構成要件Dは,次に説明するように二義的に解釈されるので不明りょうである。
a 構成要件Dの第1の解釈は次のとおりである。
構成要件Dの前段の「上記各ドライバーと上記駆動軸との対応関係に応じて」は,構成要件Bの「上記各ドライバーと上記複数のロボットの各駆動軸との対応関係を変更可能に設定する設定手段と,」を受けている。構成要件Bの「上記各ドライバーと上記複数のロボットの各駆動軸との対応関係」は本件明細書等の実施例では【図5】(a)~(d)によって表わされる。したがって,構成要件D前段の「上記各ドライバーと上記各駆動軸との対応関係に応じて」は,【図5】(a)~(d)に示される対応関係に応じてという意味になり,構成要件D後段の「ドライバーの処理条件」とは,構成要件Bに規定された対応関係(【図5】(a)~(d)の全ての対応関係)に応じて定められた【図6】に示す処理条件全体(処理条件記憶部47に記憶された全ての処理条件)を意味する。
このように解釈すると,次の2つの問題が生じる。第1の問題は,「上記各ドライバーと上記各駆動軸との対応関係に応じてドライバーの処理条件を」定めるのは,人間であるから,人間が「処理条件決定手段」に相当するということになるということである。第2の問題は,上記のように解釈すると本件明細書等の実施例の記載と整合しない点である。実施例においてドライバーの処理条件は,【図9】のフローチャートの処理によって決定される。【図9】に示される処理によると,移動命令に応じて発行される軸選択フラッグASFと軸定義フラッグADFとの照合により,上記移動命令が判別され,これにより駆動すべきドライバーが選定され,選定されたドライバーを制御するための処理条件が読み出されるのである。
そうすると,上記第1の解釈によると,構成要件D後段の「ドライバーの処理条件」は【図6】に示される処理条件全体を意味するのであるが,実施例によると,与えられた移動命令によって駆動されるべきドライバーの処理条件を意味することになり,これらは整合しない。
b 第2の解釈は,構成要件Dの後段の「ドライバーの処理条件を決定する」を明細書記載の実施例と整合するように解釈するものである。【図9】に示されるフローチャートに従って,軸選択フラッグASFと軸定義フラッグADFとの照合により,移動命令を判別して制御すべきドライバーを決定するという処理に対応する機能を実現する手段は構成要件Fの移動命令判別手段であると解釈し得るから,構成要件Fの移動命令判別手段を参照して,構成要件Dの後段を,「下記移動命令判別手段により選定されたドライバーの処理条件を決定する処理条件決定手段」と解釈するものである。
しかしながら,この解釈では,構成要件Dについて「下記移動命令判別手段により選定された」という文を補って解釈しなければならない。また,この解釈では,構成要件Dの前段の「上記各ドライバーと上記各駆動軸の対応関係に応じて」と,後段の「ドライバーの処理条件を決定する」との関連が明確にならない。
以上のように,構成要件Dは二義的な解釈を生じさせるものであり,いずれの解釈にも難点がある。
カ 以上のとおり,構成要件B,C,Dに関して請求項1の記載は不明確であるにもかかわらず,本件審決は,「以上の通り,特許請求の範囲の記載に関し,特許法第36条第5項第2号に規定する要件を満たしていないとすることはできない」(18頁2行~3行)と判断しているので,明らかに誤りである。
(4) 「その他の記載不備」についての判断の遺脱(取消事由4)
ア 本件審決は「その他の記載不備」について判断遺脱の違法があるから取り消されるべきである。
イ 「その他の記載不備」の内容
原告(請求人)は,口頭審理陳述要領書(甲14)において,次の3点について「その他の記載不備」として主張した。
(ア) 構成要件Cの「駆動軸の属性」について
構成要件Cの「駆動軸の属性を示すデータ」という用語に関しては,以下に示すように明確ではなく,実施例のサポートもないから,本件明細書等の記載は特許法36条4項,5項1号,2号の要件を満たしていない。
構成要件Cの「駆動軸の属性を示すデータ」に対応する本件明細書等の開示は軸定義フラッグADFと考えられるが,軸定義フラッグADFは,「各ドライバー毎」に作成され,16ビットからなり,その下位8ビットはドライバー自身の区別を示し,上位4ビットは駆動対象となるロボット軸の所属を示し(駆動対象なし,メインロボット,サブロボット,付加軸),上位第7,8ビットは分配記号を表す(【0019】)。すなわち,軸定義フラッグADFは,「各ドライバーに対応するロボット軸の属性」(【0018】)を示すものであると説明されているが,そこにはロボット軸(すなわちロボットの駆動軸)の属性情報は存在せず,ドライバーについての情報が記述されているだけである(本件明細書等においてドライバーと駆動軸とは異なるものである)。したがって,本件明細書等には当業者が容易に実施できる程度に発明が開示されていない。
さらに,「駆動軸の属性」という用語も開示内容と一致しない。駆動軸に関する情報(駆動軸の属性)を示すデータは開示されていないのであるから,「駆動軸の属性を示すデータ」という用語は適切ではないし,明確とはいえない。また,実施例のサポートもない。
(イ) 構成要件Eの「移動命令」について
本件発明は,以下に示すように,構成要件Eの「移動命令」に関して,当業者が容易に実施できる程度に明細書に開示されていないし,構成要件Eは明細書の記載によってサポートされておらず,かつ,明確に把握することはできないので,特許法36条4項,5項1号,2号の要件を欠いている。
構成要件Eには,「駆動すべきロボットおよび駆動軸を特定する駆動対象指定と……を含む移動命令を示すデータ」と記載されている。構成要件Eの「移動命令」に対応する実施例は「全ロボット軸を駆動対象としてこれらを同時駆動することを意味」(【0022】)するMOVE1,MOVE2であると一応考えられる。これらの移動命令に記述された「1」,「2」はメインロボット1(厳密にはスカラロボット1a),サブロボット2を特定するものである。しかしながら,移動命令MOVE1,MOVE2には,「駆動軸」を特定する符号ないしデータはない。すなわち,移動命令MOVE1,MOVE2は,構成要件Eの「駆動すべきロボットおよび駆動軸を特定する駆動対象指定と……を含む移動命令を示すデータ」に対応する実施例ではない。本件明細書等には移動命令の他の例として,「1つのロボット軸を駆動対象とする個別駆動を意味」(【0022】)するDRIVE1(5,P1)が記載されている。しかしながら,この個別駆動の移動命令は本件発明の実施例とはいえない。なぜならば,本件明細書等の【発明が解決しようとする課題】には,「このような事態を避けるには,移動命令入力の際に,メインロボットの各軸毎に個別に移動を指定すればよいが,これでは入力処理が面倒になるとともに,誤入力を生じ易くなる」(【0005】)と記載され,DRIVE1(5,P1)のような個別駆動の移動命令を排除しているからである。また,DRIVE1(5,P1)は,この移動命令中に第5ドライバー35で駆動するというドライバーの指定が含まれているので,構成要件Fにおける「照合」を経ずしてドライバーが一義的に定ってしまい,本件発明の意義を失わせてしまうからである。そもそもDRIVE1(5,P1)は第5ドライバー35というドライバーを特定しているが,駆動軸を特定していない。
(ウ) 構成要件C,Fは明確に把握できないこと
以下に示すように,構成要件C,Fの少なくともいずれか一方は,明確に把握することができないから特許法36条5項2号に規定する要件を満たしていない。
構成要件Fにおいて,「上記移動命令入力手段により入力されたデータと上記各属性記憶手段から読み出したデータとの照合に基づき」どのようにして,「上記移動命令を判別して駆動対象に対応するドライバーを選定する」のか,構成要件Fの文言からでは明確に把握できない。そもそも「照合」されるべき2つの対象が同質のデータでなければ照らし合わせることはできない。「照合」の一方のデータである「移動命令を示すデータ」が少なくとも「駆動すべきロボットを特定する駆動対象指定」を含むのであるから,これと照合されるべき「駆動軸の属性を示すデータ」も,少なくともロボットを特定するものでなければならない。この観点からいえば,駆動軸の属性を示すデータがロボットを特定するものであることを規定していない構成要件Cの記載について明確に把握することができないといってもよい。そして,「照合」に基づき,ドライバーを選定するのであるから,「照合」の対象である「駆動軸の属性を示すデータ」中にドライバーに関する情報が存在しなければならない(「移動命令を示すデータ」中にドライバーに関する情報があるとすると,DRIVE1(5,P1)の場合と同じように,そもそも(ドライバーを選定するために)「移動命令を判別」する必要そのものがなくなってしまう。)。この観点からも,構成要件C,Fのいずれか又は両方について,明確に把握できない。
ウ 違法性
原告(請求人)は,「その他の記載不備」として追加の無効理由を本件審判において主張したが,本件審決は「その他の記載不備」として主張された無効理由について言及もしていなければ判断もしていない。
したがって,「その他の記載不備」について判断していない本件審決には判断遺脱の違法がある。
2 被告の反論
原告主張の取消事由は,以下のとおり,いずれも理由がない。
(1) 無効理由1についての認定・判断の誤り(取消事由1)に対して
ア 【図5】(a)~(d)について
【図5】(a)~(d)(その左欄)は,ドライバーとロボット軸との対応関係を表すものではあるが,本件明細書等によると,実施例では,【図5】(a)~(d)そのものを設定することが,「対応関係を設定する」処理として記載されているわけではない。本件発明の構成要件Bに関し,実施例では,ドライバーとロボット軸との対応関係に応じて定められる「分配記号」を軸定義フラッグADF(【図3】)の中間2ビットに設定する処理が,「ドライバーと駆動軸との対応関係を設定する」処理の一例に該当し,また,「変更可能に」とは,ロボットの組合せ等に変更があった場合には,それに応じた新たな対応関係に基づく分配記号を上記ADFに設定することである(【0020】)。そして,このような処理を実行する分配設定手段41(【図2】)が,「……対応関係を変更可能に設定する設定手段」の一例として記載されている。このように,構成要件Bに関し,実施例では,【図5】(a)~(d)の左欄に表されるドライバーとロボット軸との対応関係をそのまま設定することが「対応関係を設定する」ことではなく,【図3】の軸定義フラッグADFに「分配記号」を設定する処理が「対応関係を設定する」処理に該当するから,本件審決が【図5】(a)~(d)に触れないのは当然である。
イ 対応関係設定の実体が明確であること
上述したように,実施例では,「対応関係を設定する」処理として,軸定義フラッグADF(【図3】)の中間2ビットに「分配記号」を設定しているのであり,そのような処理を実行する構成要素として,分配設定手段41(【図2】)が存在している。このように,実施例においては,「対応関係」がどのような形態で,コントローラ内のどの部分に設定されるのかが十分に明確である。
ウ 実施容易なこと
構成要件Bにおける「対応関係を変更可能に設定する」処理とは,当業者であれば当然に実施できる内容である。すなわち,技術常識によれば,ロボット等の制御対象物を制御するコントローラには,当然に,CPUや各種メモリが含まれる。実施例において,上記軸定義フラッグADFの中間2ビットに分配記号を設定する処理(対応関係を設定する処理)は,コントローラ内のメモリにおける上記ADFの中間2ビットに対応する部分に,単に分配記号を書き込むという単純な処理であり,「変更可能に」とは,【0020】にも説明があるように,ロボットの組合せ等に変更があった場合には,それに応じた新たな対応関係に基づく分配記号がコントローラ内のメモリに書き込まれるという意味である。このような処理が,入力操作等に応じてコントローラにより行われる。上記の処理は,本件明細書等の【0010】,【0017】~【0020】,【0025】~【0027】等の記載から,当業者であれば当然に理解し得るものである。すなわち,構成要件Bの「設定手段」は,設定される対象である,「各ドライバーと複数のロボットの各駆動軸との対応関係」に技術的な特徴があるのであって,コントローラ内のメモリにデータを書き込むこと自体は,ごく一般的な技術であるから,当業者であれば,本件明細書等の上記記載から容易に実施することができることは明らかである。
エ 対応関係を自動設定することが必須でないこと
原告は,「対応関係を設定する」処理を,コントローラ自体が自動的に行うものでなければ,本件発明の目的と合致しないといいたいようであるが,以下に説明するように,本件発明において,対応関係の設定を自動化することは必須ではない。
すなわち,実施例では,「ドライバーとロボット軸との対応関係」を設定する処理として,「準備段階」では,軸属性フラッグADFの中間2ビットに分配記号を設定し,対応関係が変更された場合には,変更後の対応関係に応じた新たな分配記号を設定する(【0019】,【0020】)。そうすることで,ドライバーの「制御段階」に,その処理用のデータとして適切な処理条件が読み出されるようになる(【0040】~【0042】)。本件明細書等では,このような作用を指して,「制御する複数のロボットの軸数,組合せ等が種々変わった場合にも汎用することができる」と記載しているのである(【0006】)。軸定義フラッグADFにあらかじめ分配記号を設定しておくことで,「コントローラに接続される複数のロボットの軸数,組合せ等が変わった場合にも,それに応じた調整が上記対応関係の設定によって行われることにより,適切な制御を行うことができる」(【0045】)のであり,それが本件発明の作用効果である。このように,実施例では,軸定義フラッグADFをあらかじめ作成しておき(【0020】),その結果として,ロボット軸が適切に制御されるということが重要である(【0040】)。したがって,そのような制御を可能にするための準備として,軸定義フラッグADFにデータを設定する処理をユーザの操作に基づき行うかコントローラにより自動的に行うかは,どちらでもよく,当業者が適宜選択し得るものである。
したがって,対応関係を設定する処理が,コントローラによる自動設定に限られないとしても,そのことが,本件発明の目的との関係で矛盾することは何もなく,原告の主張には理由がない。
オ 以上説明したとおり,構成要件Bに関し,本件明細書等の発明の詳細な説明には当業者が容易に実施をすることができる程度に発明の構成が記載されていることは明らかであるから,本件審決の無効理由1についての判断に誤りはない。
(2) 無効理由2についての判断の誤り(取消事由2)に対して
上記(1)に説明したとおり,本件明細書等の発明の詳細な説明(【0017】~【0020】,【0025】~【0027】等)によれば,実施例では,軸定義フラッグADFの中間2ビットに分配記号を設定する分配設定手段41が,「……対応関係を変更可能に設定する設定手段」の一例として明確に記載されている。
このように,発明の詳細な説明には構成要件Bをサポートする記載があり,原告が取消事由2として主張する点は明らかに失当である。したがって,本件審決の無効理由2についての判断に誤りはない。
(3) 無効理由3についての判断の誤り(取消事由3)に対して
ア 構成要件Bについて
上記(1)で説明したとおり,構成要件Bにおける「対応関係」とは,「各ドライバーと複数のロボットの各駆動軸との対応関係」であり,その文言自体極めて明確である。また,その対応関係を「変更可能に設定する設定手段」とは,上記対応関係が設定手段により設定され,かつ,設定後に変更できることを意味し,当然に明確である。しかも,実施例では,上記「対応関係」の具体例として,どのドライバーにどのロボット軸が接続されているかという対応関係(【図5】(a)~(d)の各左欄)が記載されており,上記「設定手段」の具体例として,分配記号(【図5】(a)~(d)の各右欄)を設定する「分配設定手段41」が記載されている。このように,実施例においても,構成要件Bの具体的構成例が同じ用語を使って明確に説明されている。以上のように,構成要件Bに記載の事項は十分に明確である。
イ 構成要件Cについて
(ア) 構成要件Bに記載の「対応関係を……設定」することの意味は【0017】~【0020】等の記載から明確であるので,構成要件Cの「上記対応関係の設定に基づいて」も明確に把握することができる。
(イ) 「対応関係の設定に基づいて各ドライバーに対応する駆動軸の属性を示すデータを書き換え可能に記憶する」とは,構成要件Bの「各ドライバーと複数のロボットの各駆動軸との対応関係」の設定に基づいて,各ドライバーに対応する駆動軸の属性を示すデータが各軸属性記憶部に記憶され,上記対応関係が変更された場合には,それに応じて上記データが書き換えられることを意味するものであり,明確である。
(ウ) 本件審決が「対応関係が変更された場合には」などの用語を補った説明は,「書き換え可能に記憶する」という文言をあえて噛み砕いて表現すればそうなるというだけのことであり,原告の主張は通常の理解による文言解釈を全く無視したものである。
ウ 構成要件Dについて
(ア) 上述したように,構成要件Bに記載の「上記各ドライバーと上記複数のロボットの各駆動軸との対応関係」の意味は明確であるので,構成要件Dの「上記各ドライバーと上記各駆動軸との対応関係に応じて」も明確である。
(イ) 構成要件Dの「ドライバーの処理条件」という文言自体,駆動対象に対応するドライバーの存在を前提としているところ,駆動対象に対応するドライバーの選定については,構成要件Fに「移動命令を判別して駆動対象に対応するドライバーを選定する」と規定され,構成要件Gに「上記移動命令判別手段により選定されたドライバーにつき,上記処理条件決定手段により決定される処理条件と上記移動命令で指定される移動位置とに基づいて処理内容を求め,この処理内容に従ってドライバーを制御する制御手段」と規定されている。このような各構成要素間の関係及び文言から,構成要件Dは,移動命令判別手段により選定されたドライバーについて処理条件を決定していることが明白である。
以上のように,ドライバーの処理条件の決定について何ら不明なことはなく,構成要件Dは十分に明確である。
エ 以上説明したとおり,本件特許の請求項1に記載された発明は十分に明確であり,原告が取消事由3として主張する点は全て失当である。したがって,本件審決の無効理由3についての判断に誤りはない。
(4) 「その他の記載不備」についての判断の遺脱(取消事由4)に対して
ア 原告の主張する「その他の記載不備」は,口頭審理陳述要領書により原告(請求人)が初めて主張した事項であり,審判請求書(甲11)には記載のなかった無効理由である。したがって,「その他の記載不備」について本件審決が判断しなかったとしても,それは「判断遺脱」には該当しない。しかも,「その他の記載不備」は,以下に説明するように,審決の結論には何ら影響しないものである。
イ 構成要件Cの「駆動軸の属性」
ドライバーには1対1の関係で駆動軸が接続されるから,「ドライバー毎」に作成される軸定義フラッグADF(【図3】)に,各ドライバーに接続される駆動軸の属性(所属等)を定義することが当然に可能であり,実施例では,駆動対象の有無,メインロボット軸か否か,サブロボット軸か否か及び付加軸か否かを表すデータが,ADFの上位4ビットに設定されている(【0019】)。これらのデータは,各ドライバーにどのようなロボット軸が接続されているか(あるいは接続されていないか)に応じて設定されるデータであり,「駆動軸の属性を示すデータ」であることは明白である。
ウ 構成要件Eの「移動命令」
本件明細書等の【0022】のように,代表例の1つとしての移動命令MOVE1については,「メインロボット1におけるスカラロボット1aの全ロボット軸を駆動対象としてこれらを同時駆動することを意味」すると記載されており,移動命令MOVE2については,「サブロボット2の全ロボット軸を駆動対象としてこれらを同時駆動することを意味」すると記載されている。ここで,「全ロボット軸」とは,そのロボットに属する「全ての駆動軸」のことであるから,上記記載によれば,MOVE1は,メインロボット1(厳密にはスカラロボット1a)の「全ての駆動軸」である第1軸M1~第4軸M4を同時駆動するという命令であり,MOVE2は,サブロボット2の「全ての駆動軸」である第1軸S1および第2軸S2を同時駆動するという命令である。
原告は,MOVE1,MOVE2は駆動軸を特定しないと主張するが,MOVE1,MOVE2の意味は上記のとおりであり,「ロボットおよび駆動軸」を特定する命令として明確である。
エ 構成要件C,Fについて
「上記移動命令入力手段により入力されたデータと上記各属性記憶手段から読み出したデータとの照合に基づき,上記移動命令を判別して駆動対象に対応するドライバーを選定する」という構成要件Fの文言からすれば,「移動命令入力手段により入力されたデータ」と,「各属性記憶手段(各軸属性記憶部)から読み出したデータ」とに,相互に照合可能なデータがそれぞれ含まれ,両者の照合が,駆動すべきドライバーが選定されるような形で行われることは明らかである。ドライバーの選定については,駆動対象となる駆動軸が特定されれば,それに接続されているドライバーがおのずと「駆動すべきドライバー」として選定されるので,「照合」のデータにドライバーに関する情報が含まれることは必須ではない。
以上のように,構成要件C,Fはいずれも明確であるから,原告の主張には理由がない。
オ 以上のとおり,本件発明の特許請求の範囲及び発明の詳細な説明には,原告が「その他の記載不備」として主張するような不備は存在せず,本件審決の結論に何ら影響するものではない。
第4当裁判所の判断
当裁判所は,原告主張の取消事由は,いずれも理由がないと判断する。その理由は,以下のとおりである。
1 本件明細書等の記載
(1) 本件明細書等(甲1の7,9,甲10)には,本件発明の課題及び作用効果について,次の記載がある。
【0001】
【産業上の利用分野】
本発明は,1つのコントローラで複数のロボットを制御する装置に関するものである。」
「【0004】
【発明が解決しようとする課題】
従来のこの種のロボット制御装置においては,1つのロボットに対して1つのコントローラが設けられているが,コントローラのドライバーが1つのロボットに対して余分にある場合に,このコントローラで別のロボットも制御し,つまり1つのコントローラで複数のロボットを制御すれば,制御系統の合理化等の面で好ましい。しかし,このようにしようとする場合に,各ロボットの制御,入力処理等の点で次のような課題が残されていた。
【0005】
コントローラで1つのロボットを制御する場合であれば,例えば移動命令でPTP(ポイントツーポイント)による移動位置が指定されると,その移動位置(例えばP1)に応じてコントローラ内でP1=(P1a,P1b,P1c,P1d,P1e,P1f)というように6軸分の移動量が求められ,それに応じた各ドライバーの制御が一括的に行われる。ところが,制御対象を変更して例えば4軸のメインロボットと付加軸やサブロボットをこのようなコントローラで制御しようとすると,メインロボットの制御動作に付随して不必要に付加軸やサブロボットが動いてしまうことがある。このような事態を避けるには,移動命令入力の際に,メインロボットの各軸毎に個別に移動を指定すればよいが,これでは入力処理が面倒になるとともに,誤入力を生じ易くなる。
【0006】
また,コントローラの各ドライバーと複数のロボットの各ロボット軸との対応関係を固定的に設定しておくだけでは汎用性に乏しく,制御する複数のロボットの軸数,組合せ等が種々変わった場合にも汎用することができるようにすることが望ましいが,ドライバーと各ロボット軸との対応関係の調整,処理内容の調整等が難しい。
【0007】
本発明は,上記の事情に鑑み,1つのコントローラで複数のロボット軸の制御を適切に行うことができ,かつ,ロボットの軸数,組合せ等が種々変わった場合の汎用性に富む複数ロボットの制御装置を提供することを目的とする。」
「「【0010】
【作用】
上記構成によると,準備段階で上記各ドライバーと上記各駆動軸との対応関係が設定され,コントローラに接続される複数のロボットの軸数,組合せ等に変更があった場合は,この設定において対応関係が調整される。そして,上記移動命令が入力されると,駆動対象として指定されたロボットの駆動軸に対応するドライバーとその処理内容が上記対応関係から求められ,移動命令に適合した制御が行われる。」
「【0045】
【発明の効果】
本発明の制御装置は,各ドライバーと複数のロボットの各駆動軸との対応関係を変更可能に設定する設定手段と,上記対応関係の設定に基づいて各ドライバーに対応する駆動軸の属性を示すデータを書き換え可能に記憶する各軸属性記憶部と,上記対応関係に応じてドライバーの処理条件を決定する処理条件決定手段と,移動命令入力手段と,移動命令入力手段により入力されたデータと各軸属性記憶部から読み出したデータとの照合に基づき,移動命令を判別してドライバーを選定する移動命令判別手段と,選定されたドライバーにつき,処理内容を求めてそれに従った制御を行なう制御手段とを備えているため,1つのコントローラで複数のロボットを任意に制御することができる。とくに,移動命令に応じて駆動すべきロボット軸に対応するドライバーの選定,制御を正しく行うことができ,また,コントローラに接続される複数のロボットの軸数,組合せ等が変わった場合にも,それに応じた調整が上記対応関係の設定によって行われることにより,適切な制御を行うことができる。また,とくに,移動命令入力等の操作を簡単にしつつ,複数のロボットの制御を適切に行うことができる。」
(2) また,本件明細書等には,実施例について,次の記載がある。
ア 複数ロボットの構成
「【0012】
図1は本発明の一実施例によるロボットおよびコントローラの概略を示している。この図に示す例では,メインロボット1,サブロボット2の2つのロボットがコントローラ3で制御され,かつ,上記メインロボット1は4つの駆動軸を有する4軸スカラロボット1aに1つの駆動軸からなる付加軸1bが付属した構成となっており,また,サブロボット2は直交する2つの駆動軸を有する直交型2軸ロボットで構成されている。」
「【0015】
上記ロボット1,2の各モータ15~19,24,25が,ケーブルを介してコントローラ3に接続されている。
【0016】
図2は上記コントローラ3の構成を示している。この図において,コントローラ3は,ロボット軸(ロボットの駆動軸)の総数以上の数のドライバーを有し,図示の例では第1乃至第8のドライバー31~38を有している。そして,第1乃至第4のドライバー31~34がメインロボット1の第1軸乃至第4軸の各モーター15~18をそれぞれ駆動し,第5ドライバー35がメインロボット1の付加軸モーター19を駆動し,第7,第8のドライバー37,38がサブロボット2の第1軸,第2軸のモーター24,25をそれぞれ駆動するように,これらのドライバーとモーターとが接続されており,第6のドライバー36は不使用とされている。」
イ コントローラの構成
「【0017】
また,上記コントローラ3には,ドライバーとロボット軸との対応関係の設定手段である分配設定手段41と,上記対応関係に応じた処理条件を決定する処理条件決定手段42と,移動命令入力手段43と,移動命令判別手段44と,制御手段45とを含んでいる。さらにコントローラ3は,上記分配設定手段41による設定および移動命令判別手段44による判別に関係する情報として各ドライバーに対応するロボット軸の属性を記憶する各軸属性記憶部46と,処理条件決定手段42の処理に関係する情報として各種の場合のドライバーの処理条件を記憶する処理条件記憶部47と,処理条件記憶部47から処理条件を選び出すために用いる移動処理飛先テーブル(EXテーブル)を記憶するEXテーブル記憶部48とを有している。」
ウ 制御の手順1(準備段階)
「【0018】
上記各軸属性記憶部46には,各ドライバーに対応するロボット軸の属性が図3に示すような軸定義フラッグADFとして記憶されており,これによって前記分配設定手段41の機能が果たされるようになっている。
【0019】
この軸定義フラッグADFは各ドライバー毎に作成され,つまり第1乃至第8のドライバーに対応して8種類の軸定義フラッグ(D1-ADF,D2-ADF,……D8-ADF)があり,これらはそれぞれ16ビットからなっている。この16ビットのうちの下位8ビットは各ドライバー自身を区別するために用いられ,自身を表す位置のビットが「1」とされる。また上位4ビットは,駆動対象となるロボット軸の所属を示すもので,例えば,メインロボット1に属するロボット軸を駆動対象とするドライバーの軸定義フラッグ(D1-ADF~D5-ADF)では2番目のビットが「1」とされ,このうちで付加軸1bを駆動対象とするドライバーの軸定義フラッグ(D5-ADF)では4番目のビットも「1」とされ,サブロボット2に属するロボット軸を駆動対象とするドライバーの軸定義フラッグ(D7-ADF,D8-ADF)では3番目のビットが「1」とされ,駆動対象がないドライバーの軸定義フラッグ(D6-ADF)では1番目のビットが「1」とされる。このほかに,ドライバーとロボット軸との対応関係に応じた処理を行うために必要な分配記号が,上記軸定義フラッグADFの中の2ビットで表されている。」
「【0040】
さらに,図5に例示するようにドライバーとメインロボット1,サブロボット2の各ロボット軸との対応関係が種々変更される場合でも,それに応じて軸定義フラッグADFの分配記号が設定されることにより,移動命令に応じた制御が適切に行われる。」
「【0042】
こうして,ドライバーとロボット軸との対応関係の変更に応じ,ドライバー制御時の処理用のデータも,対応関係に適合するように変更される。とくに,対応関係設定の段階で,上記軸定義フラッグADFの分配記号等を設定しておきさえすれば,ステップS14~S16により自動的に適切なデータが得られる。」
エ 制御の手順2(移動命令の判別)
「【0021】
また,前記移動命令入力手段43は,使用者による入力操作に応じ,駆動すべきロボットおよび駆動軸を特定する駆動対象指定と移動位置を特定する移動位置指定とを含む移動命令を入力する。その移動命令は,例えば図4中に示すような形式で入力される。」
「【0023】
上記移動命令に応じて,その駆動対象の内容を示すための軸選択フラッグASFが発行される。……
【0024】
そして,前記移動命令判別手段44により,上記軸選択フラッグASFと軸定義フラッグADFとの照合等に基づいて移動命令が判別されるようになっている。」
オ 制御の手順3(処理条件の決定)
「【0028】
また,前記処理条件記憶部47には,駆動制御の処理条件となるデータが各ドライバー毎に各種場合について記憶されている。つまり,一般にドライバーによるロボット軸の駆動は,制御パターンに従って,先ず適度の加速度で最高速度まで加速してから,最高速度で定速移動した後,減速して移動先の位置で停止するように制御されるが,その制御パターンを定める条件式等が,上記処理条件記憶部47に記憶されるデータとなる。そして,図6に示すように,例えば第1ドライバー(DR1)がメインロボット第1軸(M1)の駆動を行う場合のデータDATADR1M1がEXDR1M1番地に記憶され,第2ドライバー(DR2)がメインロボット第2軸(M2)の駆動を行う場合のデータDATADR2M2がEXDR2M2番地に記憶されるというように,各ドライバーによる各ロボット軸の駆動のためのデータがそれぞれ記憶される。さらに,前記の図5に示すようにドライバーとロボット軸との対応関係が変更される可能性があるとすると,例えば第3ドライバー(DR3)はメインロボット第3軸(M3)の駆動を行う場合とサブロボット第1軸(S1)の駆動を行う場合とがあるので,各場合のデータDATADR3M3,DATADR3S1がEXDR3M3番地およびEXDR3S1番地に記憶され,第4~第8ドライバーについても,駆動するロボット軸が相違する複数種の場合の各データがそれぞれ別個の番地に記憶されている。
【0029】
また,前記EXテーブル記憶部48には,図7に示すようなEXテーブルが記憶されている。このEXテーブルは呼出し符号(CALL)と図6中の番地とを対応づけたもので,上記呼出し符号は,ドライバーの区別と分配記号とに基づいて後述のフローチャート中に示す演算により求められるようになっている。
【0030】
そして,前記処理条件決定手段42は,分配記号等に基づき上記EXテーブルを用いて処理条件記憶部47から処理条件を選定し,前記制御手段45は,移動命令の判別および処理条件の決定に基づいて処理内容を求め,それに従ってドライバーを制御するようになっている。」
2 無効理由1についての認定・判断の誤り(取消事由1)について
(1) 無効理由1は,構成要件B「上記各ドライバーと上記複数のロボットの各駆動軸との対応関係を変更可能に設定する設定手段と,」について,本件明細書等の発明の詳細な説明には当業者が容易に実施をすることができる程度に発明の構成が記載されていないというものである。
(2) 本件明細書等には,上記1(2)ウに摘記したとおり,各ドライバーと複数ロボットの各駆動軸との対応関係を設定する手段が「分配設定手段41」であることが示されている。ここで,「分配設定」の用語の意味は明示されていないが,【図5】(a)~(d)(別紙参照)の左欄には括弧書きで「分配設定内容」と題して,各ドライバーと複数ロボットの各駆動軸との対応関係が示されているので,「分配設定」とは,かかる対応関係そのものか,それと同等の,制御の手順において対応関係を識別可能な情報をいうものと解される。したがって,構成要件Bの「上記各ドライバーと上記複数のロボットの各駆動軸との対応関係を変更可能に設定する設定手段」が「分配設定手段41」に対応するものと認められる。そして,本件明細書等では,「分配設定手段41」の機能は,「準備段階で予め設定され,ドライバーとロボット軸との対応関係が変更された場合は,それに応じて書き換えられる」(【0020】)ものであって「ドライバーとロボット軸との対応関係に応じた処理を行うために必要な分配記号」と「駆動対象となるロボット軸の所属」を示す「軸定義フラッグADF」(【0019】)を記憶する各軸属性記憶部46によって達成されるものとされている(【0018】)。これによれば,「分配設定手段41」は,「上記各ドライバーと上記複数のロボットの各駆動軸との対応関係を変更可能に設定する設定手段」,すなわち,かかる対応関係そのものを変更可能に設定する手段であり,その設定された分配設定内容(対応関係)に基づいて,各軸属性記憶部46に記憶される「軸定義フラッグADF」に「ドライバーとロボット軸との対応関係に応じた処理を行うために必要な分配記号」と「駆動対象となるロボット軸の所属」を記憶させることによって,その役割を果たしていると理解するのが自然である。
本件明細書等によれば,構成要件Bについては,以上のとおり理解され,また,技術常識に照らして,その実施を妨げる事情もないから,本件明細書等は,構成要件Bについて,発明の詳細な説明に当業者が容易に発明を実施をすることができる程度に発明の構成を記載したものといえる。
したがって,構成要件Bに関して特許法36条4項に規定する要件を満たしていないとすることはできないとした本件審決の判断に誤りはない。
(3) 原告の主張について
ア 原告は,本件審決は本件明細書等の開示を正しく認定していないと主張し,その理由として,①本件審決は【図5】(a)~(d)に全く言及していない,②本件発明の「対応関係」は物理的接続関係ではない,③軸定義フラッグADFは「対応関係」を表すものではない,と指摘する。
しかしながら,【図5】(a)~(d)は,本件明細書等【0025】に「図5(a)~(d)は,ロボット軸の数などが異なる各種場合につき,各ドライバー(DR1,DR2,……)とメインロボット軸(M1,M2,……),サブロボット軸(S1,S2,……)との対応関係,ならびに分配記号を例示している」とあるように,例示にすぎず,構成要件Bの「対応関係を変更可能に設定する設定手段」が【図5】(a)~(d)の左欄(「分配設定内容」)を設定することに限定されるわけではない。したがって,本件審決が【図5】(a)~(d)に言及しなかったことを誤りということはできず,上記①は理由がない。
本件審決は,原告が指摘するように,どのようにして「対応関係を変更可能に設定する」のかについて物理的接続関係を根拠に判断している(16頁23行~26行)ところ,物理的接続関係それ自体は「設定手段」を認定する根拠にはならないというべきであるから,本件審決の上記説示は適切を欠き,原告の上記②の指摘は首肯することができる。しかし, 「対応関係を変更可能に設定する設定手段」について,その具体的内容が記載されていなくても,ありふれたコンピュータ技術(プログラムやメモリ)を用いて実現できることは後記イのとおりであるから,上記②の点は,本件審決の結論に影響しない。
また,「軸定義フラッグADF」に「ドライバーとロボット軸との対応関係に応じた処理を行うために必要な分配記号」と「駆動対象となるロボット軸の所属」が記憶されることは上記(2)のとおりであるから,上記③も理由がない。
イ 原告は,「対応関係を変更可能に設定する設定手段」について,本件明細書等には具体的内容が記載されていないと主張する。
しかしながら,本件明細書等には,前述したとおり,ADFに分配記号を記憶するという実施例も記載されているが,構成要件Bにおいては,設定手段が対応関係を変更可能に設定するだけのものであって,各ドライバーを表すデータと複数のロボットの各駆動軸を表すデータとの関係をテーブル,すなわち,【図5】(a)~(d)のような複数の表において各表の左欄のような対応関係,又はそれと同等の情報を電子的に記憶保持し,かつ,それを変更可能に記憶保持していればよく,この点について更に具体的内容について記載がなくても,ありふれたコンピュータ技術(プログラムやメモリ)を用いて実現できることは,当業者の技術常識に照らして明らかである。したがって,本件明細書等に「対応関係を変更可能に設定する設定手段」について,具体的内容について記載がなくても,当業者が容易に発明を実施することができないとはいえない。
したがって,原告の上記主張は採用することができない。
(4) 以上のとおり,取消事由1は理由がない。
3 無効理由2についての判断の誤り(取消事由2)について
原告は,構成要件Bに関して,本件明細書等の発明の詳細な説明には当業者が容易に実施をすることができる程度に発明の構成が記載されておらず,本件明細書等の【0018】~【0020】は,軸定義フラッグADFについて記載しているのみで,構成要件Bの「上記各ドライバーと上記複数のロボットの各駆動軸との対応関係を変更可能に設定する設定手段」に関しては一切説明するものではないから,特許法36条5項1号に規定する要件を満たしていないと主張する。
しかしながら,本件明細書等は,構成要件Bについて発明の詳細な説明に当業者が容易に発明を実施をすることができる程度に発明の構成を記載したものと認められること,構成要件Bの「上記各ドライバーと上記複数のロボットの各駆動軸との対応関係を変更可能に設定する設定手段」は「分配設定手段41」と理解できることは上記2(2)のとおりであるから,原告の上記主張は採用することができない。
したがって,取消事由2は理由がない。
4 無効理由3についての判断の誤り(取消事由3)について
(1) 構成要件Bについて
原告は,取消事由1,2で述べたとおり,構成要件Bの記載は「対応関係を変更可能に設定する設定手段」に関して不明確であると主張するが,取消事由1,2に理由がないことは上記2のとおりであるから,構成要件Bに関する取消事由3も理由がない。
(2) 構成要件Cについて
構成要件Cは「上記対応関係の設定に基づいて各ドライバーに対応する駆動軸の属性を示すデータを書き換え可能に記憶する各軸属性記憶部と,」というものであるところ,構成要件Aには「複数のロボットを,これらロボットの駆動軸の総数以上の数のドライバーを有するコントローラにより制御する装置であって,」と記載されているから,制御を実行するために,構成要件B以下の各構成要件に記載された各手段との間で,データの受け渡しやデータを処理する機能は,コントローラが主体となっていることが明らかであり,構成要件Cの「各軸属性記憶部」が記憶するデータを提供する主体はコントローラであると認められる。したがって,構成要件Cの「上記対応関係の設定に基づいて」とは,制御を実行する主体であるコントローラが「上記対応関係の設定に基づいて」処理を行い,その結果得られたデータを「各軸属性記憶部」に提供するとの意味であることが明らかである。このことは,本件明細書等の発明の詳細な説明を参照すると,コントローラ3が「分配設定手段41」及び「各軸属性記憶部46」を備えており,「分配設定手段41」がかかる対応関係を「設定する」手段とされ,また,「各軸属性記憶部46」に記憶された「軸定義フラッグADF」により「分配設定手段41の機能が果たされるように」なっており,「軸定義フラッグADF」が「ロボット軸の所属」と「分配記号」の情報を有しているとされていることからすれば,コントローラ3が,分配設定手段41に設定された対応関係に基づいて,「各軸属性記憶部46」に記憶される「軸定義フラッグADF」に,「ロボット軸の所属」と「分配記号」を提供すると理解されることとも整合する。
原告は,構成要件Cの「各軸属性記憶部」に,「各ドライバーに対応する駆動軸の属性を示すデータを書き換え可能に記憶」させる主体について,コントローラであるか,人間であるか不明確である旨の主張をするが,構成要件Cの「各軸属性記憶部」が記憶するデータを提供する主体がコントローラであることは上記のとおりである。構成要件Cに,原告が主張する不明確な点はない。
(3) 構成要件Dについて
構成要件D「上記各ドライバーと上記各駆動軸との対応関係に応じてドライバーの処理条件を決定する処理条件決定手段と,」は,構成要件Bにより,各ドライバーと複数のロボットの各駆動軸との対応関係が変更されることがあるので,各ドライバーと上記各駆動軸との対応関係ごとに定められたドライバーの処理条件の中から適切な条件を決定するというものであるから,その意味において,何ら不明確なものではない。
原告は,構成要件D後段の「ドライバーの処理条件」とは,構成要件Bに規定された対応関係(【図5】(a)~(d)の全ての対応関係)に応じて定められた【図6】に示す処理条件全体(処理条件記憶部47に記憶された全ての処理条件)を意味すると解釈すると,「上記各ドライバーと上記各駆動軸との対応関係に応じてドライバーの処理条件を」定めるのは,人間であるから,人間が「処理条件決定手段」に相当するということになり,本件明細書等の実施例の記載と整合しないこととなり,構成要件Dの後段を,「下記移動命令判別手段により選定されたドライバーの処理条件を決定する処理条件決定手段」と解釈すると,構成要件Dについて「下記移動命令判別手段により選定された」という文を補って解釈しなければならず,また,この解釈では,構成要件Dの前段の「上記各ドライバーと上記各駆動軸の対応関係に応じて」と,後段の「ドライバーの処理条件を決定する」との関連が明確にならない,と主張する。
しかしながら,本件発明の場合には,「複数ロボットの制御装置」という物の発明に関するものであり,特許請求の範囲【請求項1】の記載も,構成要件B「……設定手段と,」,同C「……各軸属性記憶部と,」,同D「……処理条件決定手段と,」,同E「……移動命令入力手段と,」,同F「……移動命令判別手段と,」,同G「……制御手段とを備えた」とあるように,制御手段装置を構成する各手段を関連づけながら並列的に記載する形式をとっており,かかる各構成要件相互の関係において,記載の先後により特許請求の範囲に記載された発明の構成の意義に異同が生じるものではないから,構成要件Dの処理条件決定手段の他の構成要件との関わりが,後段の構成要件Fや同Gにおいて明らかにされていれば,それをもって本件発明の構成が明確であるということを妨げるものではない。そして,本件明細書等の発明の詳細な説明には,EXテーブルや分配記号を用いたCALLに基づくアドレスセッティング等の手段が開示されており,これらはありふれたアドレッシング手段であるから,ドライバーの処理条件を決定する点に関して明確であるといえる。
(4) 以上のとおり,構成要件B,C,Dに関して請求項1の記載に原告主張の不明確な点はなく,取消事由3は理由がない。
5 「その他の記載不備」についての判断の遺脱(取消事由4)について
(1) 原告の主張する「その他の記載不備」は,平成23年1月6日付け口頭審理陳述要領書(甲14)で初めて主張された事項であり,審判請求書(甲11)には記載のなかった無効理由である。
ところで,平成15年法律第47号の施行(平成16年1月1日)以降に請求された特許無効審判においては,同法律による改正後の特許法131条の2が適用されるから,審判請求書の補正は,原則としてその要旨を変更するものであってはならないが,審判長は,当該補正が審理を不当に遅延させるおそれがないことが明らかなものであり,同条2項各号のいずれかに該当する事由があると認めるときは,決定をもって,当該補正を許可することができるとされている。そして,上記「その他の記載不備」に係る無効理由は,審判請求書に記載のなかった無効理由であり,要旨を変更するものと認められるが,本件無効審判においては,証拠に照らし,上記各号のいずれかに該当する事由があると認めることはできないし,審判長が当該補正を許可したと認めることもできない。
したがって,「その他の記載不備」にかかる無効理由は,本件無効審判の無効理由を構成するものではないから,本件審決に,原告主張の判断遺脱があるということはできない。
しかも,以下のとおり,原告の「その他の記載不備」に係る主張は,いずれも理由がない。
(2) 構成要件Cの「駆動軸の属性」について
原告は,軸定義フラッグADFはドライバーの情報を示しているだけで,駆動軸の属性情報は存在しないので,本件明細書等には当業者が容易に実施できる程度に発明が開示されておらず,また,駆動軸に関する情報を示すデータは開示されていないので不明確であり,実施例のサポートもないと主張する。
しかし,本件明細書等の発明の詳細な説明の実施例では,駆動対象の有無,メインロボット軸か否か,サブロボット軸か否か及び付加軸か否かを表すデータが,軸定義フラッグADFの上位4ビットに設定され(【0019】),これらのデータに「必要な分配記号」も付されている。これらのデータは,各ドライバーにどのようなロボット軸が接続されているか(あるいは接続されていないか)に応じて設定されるデータであり,「駆動軸の属性を示すデータ」であると認められるから,原告の上記主張は理由がない。
(3) 構成要件Eの「移動命令」について
原告は,移動命令には,照合が不必要なドライバーを特定する命令(DRIVE1(5,P1))はあるが,それは照合が不要であり,本件発明の実施例とはいえず,命令(MOVE1,2)は駆動軸を特定していないので,構成要件Eは明細書の記載によってサポートされておらず,かつ,明確に把握することができないので,特許法36条4項,5項1号,2号の要件を欠いていると主張する。
構成要件Eは,「駆動すべきロボットおよび駆動軸を特定する駆動対象指定と移動位置を特定する移動位置指定とを含む移動命令を示すデータを入力する移動命令入力手段と,」であるが,移動命令については,本件明細書等の発明の詳細な説明に「ステップS11の判定がYESの場合は,移動命令がロボット軸の個別移動(DRIVE)を指令するもので,かつ当該ドライバーが指定のものと合致することを意味する。また,ステップS12,S13がYESの場合は,移動命令がメインロボットの複数軸またはサブロボットの複数軸の同時駆動を指令するもので,かつ当該ドライバーが指定されたロボットに属するロボット軸に対応するものであることを意味する。従ってこれらの場合は当該ロボット軸を駆動すべく移動処理(ステップSB1……ステップSB8)に移り,」(【0035】)とあり,プログラミング言語として,その命令の意味内容を,駆動すべきロボット及び駆動軸を特定する駆動対象が指定されているものであると認識することができる。そして,本件発明の制御装置が命令を受けて制御を行う場合には,そのような命令(DRIVE1(5,P1))であっても移動命令MOVE1やMOVE2と同様に構成要件F及び同Gの移動命令判別手段と制御手段による処理を経て初めて制御が実行されるものと理解される。したがって,命令(DRIVE1(5,P1))を,構成要件Eの「駆動すべきロボットおよび駆動軸を特定する駆動対象指定……を含む移動命令」と呼ぶことを妨げるものではない。
移動命令MOVE1については,全ロボット軸を駆動対象としてこれらを同時駆動すること,移動命令MOVE2については,サブロボット2の全ロボット軸を駆動対象としてこれらを同時駆動すること,と記載されているので【0022】,「駆動すべきロボット及び駆動軸を特定する駆動対象指定……を含む移動命令」として明確であるといえる。
したがって,原告の上記主張は理由がない。
(4) 構成要件C,Fの明確性について
原告は,構成要件Fは照合すべき2つの対象(1つは構成要件Cの各軸特性記憶部から読み出すデータ)がロボットを特定する同質のデータではない,また,照合に基づきドライバーを選定するのであるから,「駆動軸の属性を示すデータ」にドライバー情報が含まれるべきであるが,それがあると移動命令を判別する必要がなくなるので,不明確であると主張する。
しかし,構成要件Fの文言からすれば,「移動命令入力手段により入力されたデータ」と,「各属性記憶手段(各軸属性記憶部)から読み出したデータ」とに,相互に照合可能なデータがそれぞれ含まれ,両者の照合が駆動すべきドライバーが選定されるような形で行われることは明らかである。また,ドライバーの選定については,「各軸属性記憶部」が,構成要件Cのとおり「各ドライバーに対応する駆動軸の属性を示すデータを書き換え可能に記憶する各軸属性記憶部」であるから,各ドライバーと関連するデータを記憶するものと解されるが,それは,かかるデータそれ自体が各ドライバーの情報を有していることのみならず,判別手法として,本件明細書等の【図8】(別紙参照)に記載されたように,「各ドライバー毎」に移動命令を判別するという手法であっても,ドライバー情報は前提として存在するといってよく,「駆動軸の属性を示すデータ」それ自体にドライバー情報が含まれることは必須ではない。
したがって,原告の上記主張も理由がない。
(5) 以上のとおり,取消事由4は理由がない。
6 結論
以上検討したとおり,原告主張の取消事由はいずれも理由がなく,他に本件審決にはこれを取り消すべき違法はない。よって,主文のとおり判決する。
(裁判長裁判官 芝田俊文 裁判官 岡本岳 裁判官 武宮英子)
file_2.jpg別紙