(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-07-01
(45)【発行日】2025-07-09
(54)【発明の名称】作業支援装置、作業支援システム、解析プログラム
(51)【国際特許分類】
G06Q 50/04 20120101AFI20250702BHJP
【FI】
G06Q50/04
(21)【出願番号】P 2022010111
(22)【出願日】2022-01-26
【審査請求日】2024-02-28
(73)【特許権者】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110002572
【氏名又は名称】弁理士法人平木国際特許事務所
(72)【発明者】
【氏名】林 真悟
(72)【発明者】
【氏名】山本 将史
(72)【発明者】
【氏名】上野 高明
(72)【発明者】
【氏名】新岡 正彦
【審査官】成瀬 博之
(56)【参考文献】
【文献】特開平10-027251(JP,A)
【文献】特開2019-028776(JP,A)
【文献】特開2015-014843(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00-99/00
G06F 30/00-30/398
(57)【特許請求の範囲】
【請求項1】
作業者が使用する作業端末に対して回路部品の接続関係を示した回路図面データを提供する作業支援装置であって、
前記作業支援装置は、第1データ形式で作成された第1回路図面データを第2データ形式で作成された第2回路図面データに変換する変換部を備え、
前記第1データ形式は、前記回路部品を記述した図形を構成する線を幾何学的情報によって表現するように構成されており、
前記第2データ形式は、前記回路部品を記述した図形を画素によって表現するように構成されており、
前記作業支援装置はさらに、
前記第1回路図面データが記述している直線を検出しまたは前記第2回路図面データの画像領域から直線を検出する線検出部、
前記第2回路図面データの画像領域から導線を除く回路記号を検出する回路記号検出部、
前記線検出部が検出した直線から前記回路記号検出部が検出した前記回路記号を除いた残部を導線として検出する導線検出部、
前記第1または第2回路図面データを前記作業端末に対して送信する通信部、
前記作業端末上において前記作業者が前記第1または第2回路図面データ上の導通経路を手入力の線によって辿った結果を記述した導通経路データを解析する解析部、
を備え、
前記解析部は、前記導通経路データが記述している前記導通経路を、前記回路記号検出部が検出した前記回路記号および前記導線検出部が検出した前記導線とマッチングすることにより、前記導通経路が通過する前記回路部品と前記導線を特定
し、
前記解析部は、前記導通経路が通過する前記回路部品と前記導線を特定した結果を前記作業者に対して通知する
ことを特徴とする作業支援装置。
【請求項2】
前記線検出部は、前記第1回路図面データが記述している前記幾何学的情報から前記直線を検出し、または、前記第2回路図面データに対して直線検出フィルタを適用することにより前記直線を検出し、
前記回路記号検出部は、前記第2回路図面データに対して、テンプレートマッチング、物体検出モデルを用いた深層学習、または、物体検出モデルと物体認識モデルを併用した深層学習のうち少なくともいずれかを用いることにより、前記回路記号を検出する
ことを特徴とする請求項1記載の作業支援装置。
【請求項3】
前記作業支援装置はさらに、前記第2回路図面データのうち前記直線を検出する処理の対象とする検出領域とそれ以外の非検出領域のうち少なくともいずれかを指定する検出領域データを格納する記憶部を備え、
前記線検出部は、前記検出領域データが指定する前記検出領域から前記直線を検出し、または、前記検出領域データが指定する前記非検出領域からは前記直線を検出しない
ことを特徴とする請求項1記載の作業支援装置。
【請求項4】
前記回路記号検出部は、前記第2回路図面データ上において前記回路記号から所定距離以内に配置された文字を検出するとともに、その文字を前記回路記号の属性情報として前記回路記号と関連付け、
前記解析部は、前記導通経路が通過する前記回路部品と併せて、各前記回路記号と関連付けられた前記属性情報を提示する
ことを特徴とする請求項1記載の作業支援装置。
【請求項5】
前記線検出部は、前記検出した直線のうち長さが第1閾値未満のものを点として再分類するとともに、前記第1閾値以上のものを直線として再分類し、
前記線検出部は、前記再分類した直線のうち2つの直線間の間隔が第2閾値以上のものを実線として再分類するとともに、前記第2閾値未満のものを破線として再分類し、
前記線検出部は、前記再分類した破線を、前記間隔内に存在する点の個数にしたがって、破線、1点鎖線、2点鎖線、のうちいずれかへ再分類し、
前記線検出部は、前記再分類した点が同じ直線上に第3閾値以内の間隔で配置されている場合は、その直線上に配置されている点を点線として再分類する
ことを特徴とする請求項1記載の作業支援装置。
【請求項6】
前記回路記号検出部は、前記第2回路図面データ上において前記回路記号から所定距離以内に配置されかつ前記破線によって囲まれた文字を検出するとともに、その文字を、前記回路記号の属性情報として前記回路記号と関連付け、
前記解析部は、前記導通経路が通過する前記回路部品と併せて、各前記回路記号と関連付けられた前記属性情報を提示する
ことを特徴とする請求項5記載の作業支援装置。
【請求項7】
前記作業支援装置はさらに、前記第2回路図面データ上の前記回路記号および前記第2回路図面データ上の前記導線を接続関係にしたがって構造化する構造化部を備え、
前記解析部は、前記構造化部による構造化の結果を用いて、前記導通経路が通過する前記回路部品と前記導線を特定する
ことを特徴とする請求項1記載の作業支援装置。
【請求項8】
前記導線検出部は、端部が接することにより1つの経路を形成する2つ以上の前記導線を検出した場合は、その2つ以上の導線を1つの導線として取り扱う
ことを特徴とする請求項1記載の作業支援装置。
【請求項9】
前記構造化部は、前記導線を除いた前記回路記号と前記導線が交互に接続されるように、前記構造化を実施する
ことを特徴とする請求項7記載の作業支援装置。
【請求項10】
前記構造化部は、前記回路記号とその回路記号に対して接続された前記導線によって構成された回路要素を列挙した回路要素リストを作成し、
前記構造化部は、前記回路要素リストが列挙する前記回路要素のうち前記回路記号と前記導線が1対1で接続されたものを1以上列挙した、始点リストを作成し、
前記構造化部は、前記回路要素リストが列挙している前記回路要素のうち、前記始点リストが列挙している前記回路要素と同じ前記導線を有しかつ同じ前記回路記号を有さないものを特定し、
前記構造化部は、前記始点リストが列挙している前記回路要素と、前記特定した前記回路要素とを、前記同じ導線によって接続することにより、前記始点リストが列挙している前記回路要素を更新し、
前記構造化部は、前記更新された前記始点リストを用いて、前記構造化を実施する
ことを特徴とする請求項7記載の作業支援装置。
【請求項11】
前記構造化部は、前記回路部品に対して信号を入力する前記導線と前記回路部品から信号を出力する前記導線のうち少なくともいずれかによって形成される入出力関係が、1つの前記回路部品において複数存在する場合は、前記回路要素リストにおいて前記入出力関係ごとに前記回路要素を列挙する
ことを特徴とする請求項10記載の作業支援装置。
【請求項12】
前記構造化部は、前記構造化によって形成された前記回路部品と前記導線の接続経路において、同一の前記回路部品が存在する場合は、その接続経路を前記構造化の結果から削除する
ことを特徴とする請求項7記載の作業支援装置。
【請求項13】
前記作業支援装置はさらに、前記作業支援装置に対するユーザからの指示を入力する制御画面を提供し、
前記制御画面は、
前記第1回路図面データを選択する前記指示を入力するデータ指定部、
前記検出領域と前記非検出領域を指定する前記指示を入力する検出領域指定部、
前記作業端末を指定する前記指示を入力する端末指定部、
前記作業端末に対して前記第1または前記第2回路図面データを送信する前記指示を入力する送信指示部、
前記作業端末から前記導通経路データを受信する前記指示を入力する受信指示部、
前記解析部による解析結果に基づいて前記作業者の作業進捗状況を表示する進捗表示部、
を有
し、
前記進捗表示部は、
前記第1回路図面データまたは前記第2回路図面データが記述している全導通経路に対する手書き入力し終えた導通経路の割合、
または、
前記第1回路図面データまたは前記第2回路図面データが記述している全回路部品に対する手書き入力し終えた回路部品の割合、
のうち少なくともいずれかを用いて、前記作業進捗状況を表示する
ことを特徴とする請求項3記載の作業支援装置。
【請求項14】
請求項1記載の作業支援装置、
前記作業支援装置から前記第1または前記第2回路図面データを受け取る前記作業端末、
を有する
ことを特徴とする作業支援システム。
【請求項15】
回路部品の接続関係を示した回路図面データを解析する処理をコンピュータに実行させる解析プログラムであって、
前記回路図面データは、前記回路部品を記述した図形を画素によって表現するように構成されており、
前記解析プログラムは、前記コンピュータに、
前記回路図面データの画像領域から直線を検出するステップ、
前記回路図面データの画像領域から導線を除く回路記号を検出するステップ、
前記直線を検出するステップにおいて検出した直線から前記回路記号を検出するステップにおいて検出した前記回路記号を除いた残部を導線として検出するステップ、
前記回路図面データ上の前記回路記号および前記回路図面データ上の前記導線を接続関係にしたがって構造化するステップ、
前記構造化の結果を用いて、前記回路図面データを表示する作業端末上において前記回路図面データ上の導通経路を手入力の線によって辿った結果を記述した導通経路データを解析することにより、前記導通経路が通過する前記回路部品と前記導線を特定するステップ、
前記作業端末を使用する作業者に対して、前記導通経路が通過する前記回路部品と前記導線を特定した結果を通知するステップ、
を実行させ、
前記構造化するステップにおいては、前記コンピュータに、前記導線を除いた前記回路記号と前記導線が交互に接続されるように、前記構造化を実施させる
ことを特徴とする解析プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、作業者の現場作業を支援する技術に関する。
【背景技術】
【0002】
人口減少や少子高齢化による人手不足が深刻化している。特に製造現場では高いスキルを持った熟練者が不足しており、特定の人にしか作業できない状態、いわゆる属人化が問題となっている。高度な技術を伝承する場合、受け継ぐ側にも相応の技量が求められるが、そのような立場の中堅技術者が不足しているので、多くの企業において技術伝承が進んでいないのが現状である。若年技能者への技術伝承を進めるためには、作業手順やノウハウといった形式知をマニュアル化して技量に関わらず業務を推進できる仕組みづくりが必要である。
【0003】
こうした状況を受けて、電子ペーパ等のウェアラブル端末を活用した作業支援システムに注目が集まっている。例えば回路の導通状態を検査して図面上の該当箇所を上塗りする作業(いわゆる朱塗り作業)においては、作業者は端末画面上に回路図面を表示し、導通していることを確認した回路部品を回路図面上で辿ることにより、導通経路を記録する。これにより、回路図面上の導通経路が朱書き経路によって視覚的に示されるので、導通経路を視覚化することができる。このようにウェアラブル端末の活用により、従来の紙作業では抽出できない形式知が得られる。
【0004】
朱塗りによって記録された手書き導通経路は、作業者の手書きデータを記録している。この手書きデータは点群データに過ぎないので、回路図面上の回路部品や導線とは直接結びついているわけではない。朱塗り作業の本来の目的である導通経路の可視化を達成するためには、回路図面上において手書きデータの座標と回路部品の座標を照合することにより、どの回路部品が導通しているのかを明らかにする必要がある。
【0005】
回路図面を記述したデータは、例えばCAD図面データのように、データ内の回路部品固有の情報(例:回路記号の種別、識別子、回路記号を構成する図形の座標、など)によって記述されている場合がある。このようなデータ形式で作成されたデータに対して、手書き作業によって導通経路を記録した場合、手書き経路上の回路部品を特定することは比較的容易である。手書き経路の座標を特定し、その座標と回路部品を表す図形の座標とを照合すれば足りるからである。
【0006】
他方で、作業者が作業現場において使用するウェアラブル端末は、このようなデータ形式で作成された回路図面を表示することができる処理能力を備えていない場合がある。この場合は、回路図面データを端末が表示可能なデータ形式へ変換した上で、端末に対して提供することになる。例えばラスタ形式データのように、画素によって図形を表現するデータ形式がこれに相当する。このようなデータ形式の回路図面上において、手書き作業によって導通経路を記録した場合、手書き経路上の回路部品を特定することは容易ではない。データ形式を変換する際に、回路部品の座標情報が失われ、単なる画素情報となっているからである。
【0007】
下記特許文献1は、ラスタ形式の図面上の構成要素を構造化(構成要素間の接続関係を特定する)する技術を記載している。同文献は、『ラスタ形式図面を自動で構造化できること。』を課題として、『ラスタ形式図面1をベクタ形式図面に変換して構造化するラスタ形式図面の構造化システム10であって、ラスタ形式図面をベクタ形式図面にベクタ変換するベクタ変換機能部12と、ベクタ形式図面中の構造要素を構造化する際のルールを規定した構造化ルール定義DB15と、構造化ルール定義DBを参照して、ベクタ形式図面中の構造要素に属性情報及び接続情報を付与して構造要素を構造化する構造化機能部18と、を有する。』という技術を記載している(要約参照)。
【0008】
下記特許文献2は、『目的地までの経路図を作成する際に、目的地までの経路が分かりやすい地図を簡単にかつ正確に作成する。』ことを課題として、『地図読み取り手段1で、スキャナより示したい経路を含んでいる地図を入力して、地図画像記憶手段2で、その地図情報を記憶する。座標入力手段3で、ペン及びタブレットから座標と軌跡を入力し、軌跡抽出手段4で、その入力した軌跡を取り出す。一致検出手段5で、道路情報と入力された軌跡情報の座標を比較して一致しているものまたは誤差範囲内にあるものを検出する。経路抽出手段6で、検出された点の周りの地図情報を抽出し、出力イメージ記憶手段7で、抽出された経路情報を記憶する。文字入力手段8で、地名などの文字情報を抽出した経路情報に付加し、出力手段10でファイルまたはプリンタに出力する。』という技術を記載している(要約参照)。
【先行技術文献】
【特許文献】
【0009】
【文献】特開2018-206250号公報
【文献】特開平09-305106号公報
【発明の概要】
【発明が解決しようとする課題】
【0010】
特許文献1においては、ラスタ形式図面をベクタ形式図面に変換した上で、ベクタ形式図面上の構造要素を構造化する。しかし同文献においては、作業端末上で作業者が手書き入力した導通経路と図面上の回路部品との間の対応関係を特定するという課題意識は存在していない。特許文献2においても同様である。また特許文献2においては、作業端末が表示するのに適したデータ形式へ変換するプロセスは存在しない。したがって、作業端末が表示するのに適したデータ形式上で手書き入力された導通経路と、回路図面上の回路部品との間の対応関係を正確に特定することができる技術が求められる。
【0011】
本発明は、上記課題に鑑みなされたものであり、作業端末が表示するのに適したデータ形式に回路図面を変換した場合においても、図面にオーバーレイした手書きデータの座標と回路部品の座標を照合して導通経路を特定することができる技術を提供することを目的とする。
【課題を解決するための手段】
【0012】
本発明に係る作業支援装置は、回路部品固有の情報を有していない回路図面データから回路記号と導線をそれぞれ検出し、その検出結果と、作業者が導通経路を手書きにより辿った結果とをマッチングすることにより、その導通経路が通過する回路部品と導線を特定する。
【発明の効果】
【0013】
本発明に係る作業支援装置によれば、作業端末に適したデータ形式に回路図面を変換した場合においても、図面にオーバーレイした手書きデータの座標と回路部品の座標を照合して導通経路を特定することができる。上記した以外の課題、構成、効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【0014】
【
図1A】回路図面データが記述している回路図面の例である。
【
図1B】作業者が回路図面データに対して導通経路を手書き入力した結果を示す。
【
図2】実施形態1に係る作業支援装置200の構成図である。
【
図3A】線検出部208が回路図面データ上の線300を検出した結果を例示する図である。
【
図3B】回路記号検出部209が回路図面データ上の回路記号を検出した結果を示す図である。
【
図3C】導線検出部210が回路図面データ上の導線を検出した結果を示す図である。
【
図4】回路記号検出部209が回路記号を検出する手法を説明する模式図である。
【
図5】作業支援装置200の動作を説明するフローチャートである。
【
図6A】回路図以外の情報を含む回路図面データの例である。
【
図6B】
図6Aに対して検出領域604と非検出領域605を設定した例を示す。
【
図7】回路記号に属性情報が付与されている例を示す回路図である。
【
図8】線検出部208が検出した線を種類ごとに分類する手順を模式的に示す図である。
【
図9】回路記号が破線によって囲まれている例を示す。
【
図10】実施形態2に係る作業支援装置200の構成図である。
【
図11】実施形態2における作業支援装置200の動作を説明するフローチャートである。
【
図12】1本の導線が複数の線によって構成されている回路図の例である。
【
図13】構造化部213による構造化の1例を示す模式図である。
【
図14】構造化部213が実施する構造化の手順を説明する1例である。
【
図15】1つの回路記号に対して接続されている導線が、複数の入出力関係を形成する例である。
【
図16】構造化部213による構造化の結果として、ループ経路が形成された例を示す。
【
図17】実施形態3に係る作業支援装置200においてDB211が格納するデータの例を示す。
【
図18】作業支援装置200が提供する制御画面の例である。
【発明を実施するための形態】
【0015】
<実施の形態1>
図1Aは、回路図面データが記述している回路図面の例である。回路図面データは、図形の幾何学的情報を用いて、回路部品や導線などの回路構成要素を記述するように構成されている。例えばベクタ形式(第1データ形式)のCAD図面データがこれに相当する。
図1Aに示す回路図面は、回路構成要素として、導線101、ツイスト線102、電源103、コンデンサ104、接続点105、抵抗106、IC107、を記述している。属性情報100は、回路部品の属性を文字列によって表現した情報である。
【0016】
図1Bは、作業者が回路図面データに対して導通経路を手書き入力した結果を示す。作業者は、作業端末(例えばウェアラブル端末)の画面上に回路図面データを表示し、その回路図面上で、導通していることを確認した回路部品の経路を手書き入力する。手書きデータ108は、その手書き入力された座標をトラッキングしたものであり、作業者が入力した導通経路を表している。手書きデータ108には記入した時刻が付与されているので、作業の時系列データは作業手順を意味している。
【0017】
導通経路を手書き入力する目的は、導通している回路部品間の接続関係を回路図面上において可視化することである。したがって、手書きデータ108がトレースしている回路部品を特定する必要がある。しかし回路図面データを作業端末が表示するのに適したデータ形式(例えば画像データやPDFデータ)に変換する際に、回路部品の座標情報が消失する場合がある。そうすると、手書きデータ108の座標と変換後回路図面データ上の回路部品の座標とを照合することは、容易ではない。本発明の実施形態1に係る作業支援装置は、この照合処理を提供することにより、手書きデータ108がトレースしている導通経路上の回路部品を自動的に特定することを図る。
【0018】
図2は、本実施形態1に係る作業支援装置200の構成図である。作業支援装置200は、第1データ形式(例えばベクタ形式)で作成された回路図面データ205を第2データ形式(例えばラスタ形式)の回路図面データ206に変換して作業端末204に対して提供する装置である。作業支援装置200と作業端末204は、作業者を支援するシステムを形成している。
【0019】
作業支援装置200は、図面解析部201、手書きデータ解析部202、通信部203、データベース(DB)211を備える。図面解析部201はさらに、変換部207、線検出部208、回路記号検出部209、導線検出部210を備える。
【0020】
変換部207は、回路図面データ205(第1データ形式)を回路図面データ206(第2データ形式)に変換する。線検出部208は、回路図面データ205または回路図面データ206のうち少なくともいずれかから、線を検出する。回路記号検出部209は、回路図面データ206が記述している回路記号を検出する。導線検出部210は、回路図面データ206が記述している導線を検出する。これらの検出手順については後述する。
【0021】
通信部203は、回路図面データ206を作業端末204に対して送信する。作業端末204は、作業者が回路図面データ206に対して手書き入力した導通経路を記述した手書きデータ(例えば手書きデータ108)を、作業支援装置200に対して送信する、通信部203はその手書きデータを受信する。手書きデータ解析部202は、手書きデータの座標と、図面解析部201が検出した回路部品および導線それぞれの座標とを照合することにより、導通経路上の回路部品および導線を特定する。DB211は作業支援装置200による処理結果を保存する。DB211は、データを格納する記憶装置によって構成することができる。
【0022】
図3Aは、線検出部208が回路図面データ上の線300を検出した結果を例示する図である。検出した線は、始点(x0,y0)と終点(x1,y1)によって表すことができる。線検出部208は、回路図面データ205または206から線300を検出する。線300の始点と終点がデータ上で定義されている場合は、その定義にしたがって線300を検出すればよい。あるいは画素データに対して線検出フィルタなどの適当な線検出アルゴリズムを適用することにより、線300を検出してもよい。
【0023】
図3Bは、回路記号検出部209が回路図面データ上の回路記号を検出した結果を示す図である。回路記号検出部209は、線検出部208が検出した線から、回路記号を構成する領域を検出する。例えば後述するように、テンプレートマッチングや深層学習を用いて、回路記号の形状と合致する領域を検出することができる。回路記号検出部209が検出する回路記号は、導線を除くものとする。検出した回路記号の座標は、例えば領域の左下(始点)と右上(終点)によって表すことができる。
図3Bにおいては、電源領域301、コンデンサ領域302、抵抗領域303を検出した例を示した。検出手法によっては、回路記号と接続された導線のうち一部も回路記号の一部として認識される場合もある。この場合はその導線も回路記号の一部として取り扱うことができる。
【0024】
図3Cは、導線検出部210が回路図面データ上の導線を検出した結果を示す図である。導線検出部210は、線検出部208が検出した線から、回路記号検出部209が検出した回路記号を除いた部分を、導線として検出する。したがって、線検出部208が検出した線300のうち一部が、新たな始点と終点を有する導線304として再定義されることになる。
【0025】
図4は、回路記号検出部209が回路記号を検出する手法を説明する模式図である。回路記号検出部209は、回路図面(入力画像400)を受け取り、これに対して以下のいずれか1以上を適用することにより、回路記号の検出結果406を取得する。
【0026】
図4:テンプレートマッチング401:回路記号検出部209は、テンプレート画像402と入力画像400とをマッチングすることにより、回路記号を検出する。テンプレート画像402は、回路図面データ205または206のなかに含まれる可能性がある回路記号の画像である。テンプレートマッチングは、実装が容易である一方で、画像の拡大縮小や回転があると検出精度が低下する可能性がある。
【0027】
図4:物体検出モデル403:回路記号検出部209は、R-CNN(Region with CNN features)、YOLO、SSD(Single Shot MultiBox Detector)などの物体検出モデルを用いて、深層学習により学習させた検出器で、回路記号を検出する。この手法は、単一の検出モデルを用いるので、そのモデルの学習が不十分であれば、検出ミスが発生する可能性がある。
【0028】
図4:物体検出モデル403+物体識別モデル405:回路記号検出部209は、物体検出モデル403に加えて、ResNet、DenseNet、AmoebaNet、EfficientNetなどの物体識別モデル405を用いて、深層学習により学習させた検出器で、回路記号を検出する。具体的には、物体検出モデル403を用いて検出した回路記号画像404を、物体識別モデル405に対して投入する。物体識別モデル405は、物体検出モデル403が検出した回路記号の種別を識別する。物体識別モデル405を併用することにより、検出ミスを除外することができるので、検出精度が向上する。
【0029】
図5は、作業支援装置200の動作を説明するフローチャートである。作業支援装置200は、変換部207が回路図面データ205を回路図面データ206に変換した後、本フローチャートを開始する。線検出部208は、回路図面データから線を検出する(S01)。回路記号検出部209は、回路図面データから導線以外の回路記号を検出する(S02)。導線検出部210は、導線を検出する(S03)。通信部203は、回路図面データ206を作業端末204に対して送信する(S04)。作業者は作業端末204上で導通経路を入力し、作業端末204は手書きデータを送信する(S05)。通信部203は手書きデータを受信する(S07)。手書きデータ解析部202はその手書きデータを解析して導通経路上の回路部品を特定し(S07)、その結果をデータベース211に格納する(S08)。手書きデータ解析部202は、解析結果を作業者に対して通知する(S09)。
【0030】
図6Aは、回路図以外の情報を含む回路図面データの例である。実際の回路図面データは、回路図に加えて様々な情報を記述している場合がある。この例においては、回路図以外に、格子600、格子参照601、輪郭線602、表題欄603が記載されている。これらの情報も線検出部208によって検出すると、導線ではない部分が導線として検出される可能性がある。
【0031】
図6Bは、
図6Aに対して検出領域604と非検出領域605を設定した例を示す。図面解析部201が回路図面データから回路部品と導線を検出する前に、回路図以外の情報を検出対象から除外することにより、このような不要な情報を回路図の一部として誤検出することを回避できる。そこでユーザは、適当なインターフェースを介して、回路図を検出する領域(検出領域604)と検出しない領域(非検出領域605)のうち少なくともいずれかを指定する。例えば左下隅座標と右上隅座標などによって各領域を指定することができる。
図6Bにおいては、表題欄603を非検出領域605として指定するとともに、回路図部分を検出領域604として指定した例を示した。図面解析部201は、検出領域604からのみ回路部品等を検出するか、あるいは非検出領域605以外の領域からのみ回路部品等を検出する。
【0032】
例えば回路記号の内部に余分な情報(例:その回路記号の特性を記述したテーブル)が記述されている場合、その余分な情報は線検出部208による検出対象から除外すべきである。この場合は、非検出領域605が有用である。さらに回路図の周囲に余分な罫線などがある場合は、検出領域604を併用することが有用である。
【0033】
図7は、回路記号に属性情報が付与されている例を示す回路図である。回路図は、例えば部品番号700などのように、回路部品と併せてその属性情報を記載している場合がある。回路記号検出部209が回路記号を検出する際に、このような属性情報を併せて検出し、検出した回路記号に対してその属性情報を付与してもよい。手書きデータ解析部202は、解析結果と併せてその属性情報を出力してもよい。これにより、導通経路と併せてその属性情報を識別することができる。
【0034】
回路記号検出部209は、例えば検出した回路記号の中心座標と文字領域の中心座標との間の距離が閾値以内である場合、その文字はその回路記号の属性として取り扱う。文字領域を抽出する手法としては、例えば文字情報を記述した回路図面データであればその文字情報を抽出すればよく、あるいは画素に対して回路記号と同様の手法を適用することにより文字を抽出してもよい。
【0035】
図8は、線検出部208が検出した線を種類ごとに分類する手順を模式的に示す図である。線検出部208は、検出した線の長さが閾値未満である場合はその線を点として再分類し、閾値以上である場合は改めて線として再分類する。点と線を区別する閾値の例としては、例えば図面作成ソフトによって作成した点線を点として認識できる程度にすればよい。線検出部208はさらに、同一直線上の隣接する2つの線間の間隔が閾値未満である場合はその2つの線を破線として再分類し、閾値以上である場合は実線として再分類する。線検出部208はさらに、破線として分類した線のうち、2つの線間に存在する点の個数にしたがって、線種別を再分類する。点が0個であれば破線、1個であれば1点鎖線、2個であれば2点鎖線とする。線検出部208はさらに、同一直線上に存在する2つの点間の間隔が閾値未満である場合はその2つの点を点線として再分類し、閾値以上である場合は改めて点として再分類する。以上における各閾値としては、それぞれのステップごとに適切な値を定めればよく、同じ閾値を用いる必要はない。
【0036】
図9は、回路記号が破線によって囲まれている例を示す。回路図面は、読み手が分かりやすいように、参考情報を点線や破線によって囲む場合がある。
図9においては、導線900と電流計901が接続されており、電流計901は1点鎖線902によって囲まれ、さらに1点鎖線902の内部に型番903と所在番号904が配置されている。このように特定種類の線によって囲まれている文字は、回路記号の属性情報として用いることができる。
【0037】
回路記号検出部209は、点線または破線によって囲まれた領域の内部に回路記号と文字が存在し、かつその文字が回路記号から所定距離以内に配置されている場合、その文字はその回路記号の属性として取り扱う。このときの回路記号と文字との間の所定距離は、必ずしも
図7において説明した場合における距離閾値と同じでなくともよい。回路記号と文字が囲まれていることにより、その文字がその回路記号の属性であることが一応推認されるからである。
【0038】
<実施の形態2>
図10は、本発明の実施形態2に係る作業支援装置200の構成図である。本実施形態2に係る作業支援装置200は、実施形態1で説明した構成に加えて、構造化部213を備える。その他の構成は実施形態1と同様である。構造化部213は、回路図面データ206が記述している回路記号と導線の接続関係を記述したデータを作成する。この処理のことを構造化と呼ぶ。構造化の具体的手順は後述する。
【0039】
図11は、本実施形態2における作業支援装置200の動作を説明するフローチャートである。S03とS04の間において、構造化部213は後述する手順にしたがって構造化を実施する(S10)。その他のステップは
図5と同様である。ただしS07において、手書きデータ解析部202は、構造化部213による構造化の結果を用いて、手書きデータの導通経路を特定してもよい。例えば構造化結果が記述している回路部品と導線の接続関係を、マッチング結果が示す接続関係と対比することにより、導通経路が通過する回路部品と導線のリストを出力することができる。
【0040】
図12は、1本の導線が複数の線によって構成されている回路図の例である。
図12(1)において、電源1201とIC1203との間を接続する導線1200は、4本の線によって構成されており、これらの線のうち少なくとも2つは互いに異なる方向を向き、かつ端部において接することにより1つの導通経路を形成している。さらに接続点1202とIC1203との間には、導線1200の4番目の線と近接して、導線1204が配置されている。
【0041】
図12(2)のように近接する他の導線が存在する導通経路を手書きによってマークすると、手書き経路が別の導線と重なってしまう場合がある。
図12(2)の例において、手書き経路は、導線1200のうち4番目の部分導線と、導線1204とをともに辿っている。したがって、導通経路を正しく判定できない可能性がある。
【0042】
そこで導線検出部210は、導線1200を構成する4つの部分導線を統合し、1つの導線1205として取り扱う(
図12(3))。これにより、導線1205の一部と導線1204が手書き経路上において重なったとしても(
図12(4))、手書き経路は導線1205の一部のみを辿るに過ぎないので、手書きデータ解析部202は、この手書き経路が導線1205を辿ったものではないと判定することができる。導線検出部210は、例えば
図11のS03においてこのような導線統合をあらかじめ実施すればよい。
【0043】
図13は、構造化部213による構造化の1例を示す模式図である。
図13左の回路図において、電源1201とIC1203との間の経路は、
図13右のように記述することができる。すなわちこの経路は、回路記号1300と導線1301が交互に接続された経路として記述することができる。構造化部213は、この原則にしたがって、回路記号と導線が交互に接続されたデータ構造により、回路図面データが記述している接続関係を表現する。
【0044】
図14は、構造化部213が実施する構造化の手順を説明する1例である。ここでは
図14(1)に示すように、電源1400=>導線1403=>コンデンサ1401=>導線1404=>抵抗1402=>導線1405、がこの順で直列接続されている場合において、この接続関係を表すデータを作成する(すなわち
図14(1)を構造化する)ための手順を説明する。
【0045】
構造化部213は、回路図面データ内の回路記号とその回路記号に対して接続された導線によって構成された回路要素を列挙する。例えば電源1400に対して導線1403が接続されているので、これらの組を1つの回路要素として列挙する。同様にコンデンサ1401に対して導線1403と導線1404が接続されているので、これらの組を1つの回路要素として列挙する。この手順により、
図14(2)に示す回路要素リストが作成される。
【0046】
構造化部213は、回路要素リスト内の回路要素のうち、接続経路の始点となり得るものを列挙する。具体的には、回路記号と導線が1:1で接続された接続関係を回路要素リストのなかから抽出して列挙する。
図14(3)に示すように、構造化を開始した時点においては、回路記号と導線が1:1で接続されているのは、電源1400と導線1403の組のみである。したがってこの時点においては、これらが接続関係の始点要素となる。
【0047】
構造化部213は、始点要素と回路要素リスト内の各回路要素を比較する。構造化部213は、始点要素と同じ導線を有し、かつ始点要素と同じ回路記号を有さないものを、回路要素リストのなかから特定する。この時点においては、コンデンサ1401/導線1403/導線1404の組が、これに相当する。
【0048】
構造化部213は、特定した回路要素リストと始点要素を、これらの間で共通する導線によって接続する。この時点においては、導線1403が共通するので、始点要素とコンデンサ1401を導線1403によって接続する。接続した結果を、新たな始点要素として更新する。これにより始点要素は
図14(4)のようになる。構造化部213は、新たな始点要素を用いて、同様の処理を繰り返す。構造化部213は、始点要素を更新できなくなった時点における始点要素の内容を、構造化の結果としてDB211に格納する。
【0049】
図15は、1つの回路記号に対して接続されている導線が、複数の入出力関係を形成する例である。構造化部213はこの場合、
図14で説明した回路要素リストを作成する際に、その入出力関係ごとに回路要素を列挙する。これにより、1つの回路記号に対して複数の入出力関係が形成されている場合においても、それらの入出力関係による接続経路を全て網羅することができる。回路記号ごとの入出力関係は、例えば回路記号の種別と併せてあらかじめ回路記号検出部209が保持しておけばよい。
【0050】
図15(1)において、ツイスト線1500は以下の入出力関係を有する:(a)導線1501から入力を受け取って導線1503から出力する;(b)導線1502から入力を受け取って導線1504から出力する。構造化部213は、この2つの入出力関係を、それぞれ個別の回路要素として列挙する。したがってツイスト線1500は、
図15(2)に示すように2つの回路要素として列挙されることになる。
【0051】
図15(3)において、IC1505は2つの入力導線1506と1507、および1つの出力導線1508を有する。これらの間に入出力関係がない場合、構造化部213はIC1505について、導線ごとに個別の回路要素として列挙する。したがって
図15(4)に示すように、IC1505は3つの回路要素として列挙されることになる。あるいは例えば導線1506が入力であり導線1508がその出力となっているが、導線1507は対応する出力を有さない場合、
図15(5)に示すように、IC1505は2つの回路要素として列挙されることになる。
【0052】
図16は、構造化部213による構造化の結果として、ループ経路が形成された例を示す。
図16に示す例において、始点1600から開始する経路は、ループ経路1601において巡回している。このようなループ経路が形成されている場合、構造化によって得られた接続関係のなかに、同じ回路記号が複数回現れることになる。構造化部213は、このようなループ経路を含む接続経路については、構造化結果から削除する。かかる経路は導通経路として取り扱うことができないからである。
【0053】
<実施の形態3>
本発明の実施形態3では、DB211が格納するデータおよび作業支援装置200が提供するユーザインターフェースの具体例を説明する。その他の構成は実施形態1~2と同様である。
【0054】
図17は、本実施形態3に係る作業支援装置200においてDB211が格納するデータの例を示す。DB211は、手書きデータ解析部202およびその他各機能部による解析結果に加えて、例えば、(a)作業者についての情報を記述した作業者テーブル、(b)作業者が実施する作業についての情報を記述したタスクテーブル、などを格納することができる。
【0055】
作業者テーブルは例えば、作業者の個人ID、氏名、所属、使用する作業端末のID、実施する作業を識別する情報(タスク情報)、などを格納することができる。タスク情報はタスクテーブルを参照する。タスクテーブルは例えば、タスクNo.、プロジェクト名、納期、管理者、担当者、進捗率、などを格納することができる。進捗率は、手書き入力作業の進捗率を表す。手書きデータ解析部202は例えば、(a)回路図面データが記述している全導通経路に対する手書き入力し終えた導通経路の割合、(b)回路図面データが記述している全回路部品に対する手書き入力し終えた回路部品の割合、などによって進捗率を計算することができる。
【0056】
図18は、作業支援装置200が提供する制御画面の例である。制御画面は例えば作業者を管理する管理者が各作業者による作業進捗を管理するために用いることができる。制御画面は例えば手書きデータ解析部202によって提供することができる。制御画面は、解析ファイル指定部1800、解析領域指定部1801、端末操作部1805、進捗表示部1810、を有する。
【0057】
解析ファイル指定部1800において、ユーザ(例えば管理者)が▲ボタンを押すとファイル選択画面が表示される。ユーザは図面作成ソフトで作成した回路図面データや回路図面のPDFファイルを選択する。変換部207は、選択されたデータを、作業端末204が表示するのに適したデータ形式(回路図面データ206)へ変換する。
【0058】
ユーザはページ指定部1802によって、回路図面データのページ番号を指定する。解析領域指定部1801は、ユーザが選択したページが記述している回路図面を表示する。ユーザは、検出領域1803と非検出領域1804を、例えばマウスのドラッグ操作によって指定する。記憶装置(例えばDB221)は、その結果を記述した検出領域データを格納する。
【0059】
端末操作部1805において、ファイル選択領域1806は回路図面データ206のリストを表示する。ユーザはそのうちいずれかを指定する。端末選択領域1807は作業端末204のリストを表示する。ユーザは、回路図面データ206を送信する宛先端末、または手書きデータを受信する送信元端末を指定し、送信ボタン1808または受信ボタン1809を押す。通信部203は、指定された宛先に対して回路図面データ205または回路図面データ206を送信し、または指定された送信元から手書きデータを受信する。
【0060】
進捗表示部1810において、手書きデータの内容にしたがって、作業進捗率の数値1811またはサークルチャート1812を表示する。表示内容変更部1813は、例えば表示内容をプロジェクト毎/作業者毎などに切り替えることができる。
【0061】
制御画面は上記に加えて、図面解析部201または手書きデータ解析部202による処理結果を表示してもよい。例えば構造化結果、構造化結果と手書きデータとの間のマッチング結果、回路記号の属性情報、などを表示してもよい。さらにこれらの情報および上記制御画面の画面表示に代えてまたはこれと併用して、適当なデータ形式によって同様の内容をユーザに対して提示してもよい。
【0062】
<本発明の変形例について>
本発明は、前述した実施形態に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施形態の構成の一部を他の実施形態の構成に置き換えることが可能であり、また、ある実施形態の構成に他の実施形態の構成を加えることも可能である。また、各実施形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【0063】
以上の実施形態において、線検出部208は回路図面データが記述している直線を検出することを想定しているが、曲線を検出する適当な技術を用いて曲線を検出してもよい。回路記号検出部209はパターンマッチングなどの線検出のみに依拠しない手法を用いるので、線検出部208が直線のみを検出する場合であっても、回路記号のなかに曲線が含まれていてもよい。
【0064】
以上の実施形態において、作業支援装置200が作業端末204に対して送信するのは、作業端末204が表示するのに適したデータ形式である。作業端末204が表示するのに適していれば、回路図面データ205と回路図面データ206いずれを送信してもよい。いずれの場合においても、作業端末204が受信する回路図面データは、回路部品が単なる図形(線の幾何学的情報または画素)として記述されており、回路部品固有の情報が喪失していることを想定する。
【0065】
回路図の記述方法によっては、導線も回路記号の1種として取りつかう場合もある。しかし以上の実施形態においては、回路記号と導線を区別し、回路記号は線のうち導線を除いた残部であるものとしたことを付言しておく。
【0066】
以上の実施形態において、図面解析部201(および図面解析部201が備える各機能部)、手書きデータ解析部202は、これらの機能を実装した回路デバイスなどのハードウェアによって構成することもできるし、これらの機能を実装したソフトウェアをCPU(Central Processing Unit)などの演算装置が実行することによって構成してもよい。
【0067】
以上の実施形態において、図面解析部201は、変換部207、線検出部208、回路記号検出部209、導線検出部210を備えることを説明したが、これらの機能部は個別の構成要素として実装してもよい。
【0068】
以上の実施形態において、図面解析部201、手書きデータ解析部202、および図面解析部201が備える各機能部は、これらの全てを同一の装置上に備えてもよいし、いずれか一部を別の装置上で実施してもよい。例えば図面解析部201(解析プログラム)を別の装置上に配置して回路図面データから回路部品と導線を検出する処理(さらに構造化する処理を含めてもよい)を手書きデータ解析部202とは別に実施してもよい。
【符号の説明】
【0069】
200:作業支援装置
201:図面解析部
202:手書きデータ解析部
203:通信部
204:作業端末
205:回路図面データ
206:回路図面データ