(57)【要約】【課題】保持体に装着した障害物に応じて、障害物が縫針と干渉することを確実に回避可能なミシンを提供する。【解決手段】作業者は、縫製対象物の保持体に装着する障害物の特徴形状と特徴形状を含む回避領域を指定する。ミシンのＣＰＵは、特徴形状と回避領域の対応情報を不揮発性メモリに記憶する。ＣＰＵは、絶対原点位置又は縫製開始位置までの送り移動中、Ｘ軸モータ、Ｙ軸モータを１パルス分駆動して保持体を移動する度に、イメージセンサが撮影した針棒下方の所定領域の画像中の特徴形状を識別し、画像中の回避領域の位置を特定する（Ｓ２４０）。ＣＰＵは、画像中の回避領域が制限領域と重なるか否かを確認する（Ｓ２５０）。両者が重なる場合、ＣＰＵは、回避領域が制限領域に重ならない方向に保持体を移動する（Ｓ３１０、Ｓ３５０）。【選択図】図９
2013202211.tif 000002
【特許請求の範囲】
【請求項１】
縫針を下端に装着可能且つ上下動可能な針棒と、
前記針棒の下方に設け且つ縫製対象物を保持する保持体を水平移動可能な移動機構とを備えたミシンにおいて、
前記針棒の下方を含む領域である第一領域を撮影可能な撮影手段と、
前記保持体と共に移動する部材の特徴形状を示す第一情報を受け付ける第一受付手段と、
前記特徴形状を含む領域である第二領域を示す第二情報を受け付ける第二受付手段と、
前記第一受付手段が受け付けた前記第一情報と前記第二受付手段が受け付けた前記第二情報とを対応付けて記憶する記憶手段と、
前記撮影手段が撮影した前記第一領域の画像中の前記特徴形状を識別する識別手段と、
前記識別手段が識別した前記特徴形状と、前記記憶手段が記憶する前記第一情報と前記第二情報に基づき、前記画像中の前記第二領域の位置を特定する特定手段と、
前記移動機構を制御することで、前記特定手段が前記位置を特定した前記第二領域が、前記第一領域の画像中の前記針棒に対応する範囲である第三領域と重なった場合、前記第二領域が前記第三領域に重ならない方向に前記保持体を移動する移動制御手段とを備えたことを特徴とするミシン。
【請求項２】
前記撮影手段が撮影した前記画像を表示する表示画面を有する表示手段と、
前記表示画面上の指定した位置を認識する位置認識手段を更に備え、
前記第一受付手段は、前記位置認識手段が認識した、前記表示画面上の前記特徴形状の位置を示す情報を、前記第一情報として受け付け、
前記第二受付手段は、前記位置認識手段が認識した、前記表示画面上の前記第二領域の位置を示す情報を、前記第二情報として受け付けることを特徴とする請求項１に記載のミシン。
【請求項３】
前記移動制御手段は、前記第二領域が前記第三領域と重なった場合、前記保持体の移動方向を、優先する方向として予め設定した優先方向に変更して、前記保持体を移動することを特徴とする請求項１または２に記載のミシン。
【請求項４】
前記移動制御手段は、前記特徴部分の境界線の延びる方向に応じて前記保持体の移動方向を変更して、前記保持体を移動することを特徴とする請求項１〜３の何れか１つに記載のミシン。
【請求項５】
前記移動制御手段は、前記第二領域が、前記第一領域の画像中の前記第三領域の周囲に予め設定した第四領域に重なった場合、前記移動機構を制御して、前記保持体の移動速度を減速することを特徴とする請求項１〜４の何れか１つに記載のミシン。
【請求項６】
前記移動制御手段は、前記保持体が移動可能範囲の一端に到達した場合、前記保持体の移動方向を、前記移動方向の反対方向に変更して、前記保持体を移動することを特徴とする請求項１〜５の何れか１つに記載のミシン。
【請求項７】
前記移動制御手段が前記移動方向を前記反対方向に変更した後、前記保持体が前記移動可能範囲の他端に到達した場合、エラー発生を報知する報知手段を更に備えたことを特徴とする請求項６に記載のミシン。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、上下動する針棒に対して、縫製対象物を保持する保持体を相対的に移動しながら縫製を行うミシンに関する。
【背景技術】
【０００２】
縫製データに従って、下端に縫針を装着した針棒を上下動し、縫製対象物を保持する保持体を針棒に対して相対的に水平移動しながら模様を縫製するミシンがある。該ミシンは、最初に縫針が上昇位置にある状態で、所定の移動法則に従った経路に沿って絶対原点に保持体を移動する。該ミシンは縫製データに従って絶対原点から縫製開始位置まで保持体を更に移動した後、縫目を形成する縫製動作を開始する。
【０００３】
作業者は、縫製対象物に応じて保持体に補助押え部材を装着する時がある。該補助押え部材が上昇位置にある縫針と干渉する高さを有する場合、補助押え部材は移動経路上で縫針と干渉する障害物となる場合がある。故に、ミシンは、障害物と縫針との干渉を回避する為に、必要に応じて該移動経路を変更する。例えば特許文献１に記載のミシンは、接触式のセンサを用いて障害物を検出した時、移動経路を変更する。特許文献２に記載の縫製データ編集装置は、予め設定した排除エリアに応じて縫製データ中の針位置を修正することで、予め移動経路を変更する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平６−２１００８２号公報
【特許文献２】特開２０１１−１１５３７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１のミシンは接触式のセンサで障害物を検出するので、使用に伴いセンサの検出精度が低下する可能性がある。ミシンが特許文献２に記載の方法で移動経路を変更した縫製データに従って縫製を行う時、作業者は設定済みの排除エリアに対応しない障害物を保持体に装着する場合がある。該場合、ミシンは障害物が縫針と干渉することを防止できない。更に、縫製データは保持体が絶対原点に移動した後の移動量を示すので、特許文献２に記載の方法は、保持体が絶対原点に到達する前に障害物が縫針と干渉する可能性は排除できない。
【０００６】
本発明の目的は、保持体に装着した障害物に応じて、障害物が縫針と干渉することを確実に回避可能なミシンを提供することである。
【課題を解決するための手段】
【０００７】
請求項１のミシンは、縫針を下端に装着可能且つ上下動可能な針棒と、前記針棒の下方に設け且つ縫製対象物を保持する保持体を水平移動可能な移動機構とを備えたミシンにおいて、前記針棒の下方を含む領域である第一領域を撮影可能な撮影手段と、前記保持体と共に移動する部材の特徴形状を示す第一情報を受け付ける第一受付手段と、前記特徴形状を含む領域である第二領域を示す第二情報を受け付ける第二受付手段と、前記第一受付手段が受け付けた前記第一情報と前記第二受付手段が受け付けた前記第二情報とを対応付けて記憶する記憶手段と、前記撮影手段が撮影した前記第一領域の画像中の前記特徴形状を識別する識別手段と、前記識別手段が識別した前記特徴形状と、前記記憶手段が記憶する前記第一情報と前記第二情報に基づき、前記画像中の前記第二領域の位置を特定する特定手段と、前記移動機構を制御することで、前記特定手段が前記位置を特定した前記第二領域が、前記第一領域の画像中の前記針棒に対応する範囲である第三領域と重なった場合、前記第二領域が前記第三領域と重ならない方向に前記保持体を移動する移動制御手段とを備えたことを特徴とする。
【０００８】
該ミシンで縫製を行う作業者は、縫製対象物に応じた部材を保持体に装着する場合、障害物となる該部材の特徴形状と第二領域を設定する。ミシンは作業者が設定した特徴形状を示す第一情報と第二領域を示す第二情報を受け付け、第一情報と第二領域の第二情報とを対応付けて記憶する。その後、ミシンは、撮影手段が撮影した画像中で特徴形状を識別すると、第一情報と第二情報に基づいて第二領域の画像中の位置を特定する。ミシンは、障害物を含む第二領域が第三領域と重なった場合、第二領域が第三領域と重ならない方向に保持体を移動するので、障害物が針棒に装着した縫針と干渉するのを回避することができる。ミシンは、縫製データに従った移動経路に沿って障害物を回避するのではなく、撮影手段が撮影した画像に基づき、障害物を回避することができる。更に、ミシンは、保持体が絶対原点に到達する前でも、障害物が針棒に装着した縫針と干渉するのを回避することができる。ミシンは非接触で障害物を識別できるので、接触式のセンサを用いるミシンに比べ、使用に伴って障害物の検出精度が低下するのを防止できる。上記の通り、ミシンは保持体に装着した障害物に応じて、障害物が縫針と干渉することを確実に回避することができる。
【０００９】
請求項２のミシンは、前記撮影手段が撮影した前記画像を表示する表示画面を有する表示手段と、前記表示画面上の指定した位置を認識する位置認識手段を更に備え、前記第一受付手段は、前記位置認識手段が認識した、前記表示画面上の前記特徴形状の位置を示す情報を、前記第一情報として受け付け、前記第二受付手段は、前記位置認識手段が認識した、前記表示画面上の前記第二領域の位置を示す情報を、前記第二情報として受け付けることを特徴とする。該ミシンの作業者は、表示画面の画像を見ながら特徴形状と第二領域の位置を表示画面上で指定できる。ミシンは作業者が指定した特徴形状と第二領域の位置を認識して、第一情報と第二情報を受け付ける。故に、作業者は所望の特徴形状と第二領域の位置を視覚的に認識しながら確実かつ容易に指定できる。
【００１０】
請求項３のミシンにおいて、前記移動制御手段は、前記第二領域が前記第三領域と重なった場合、前記保持体の移動方向を、優先する方向として予め設定した優先方向に変更して、前記保持体を移動することを特徴とする。作業者が、保持体に装着した部材の配置方向に応じて予め優先方向を設定した場合、該ミシンは作業者が適切と判断した方向に移動方向を変更できる。該部材の通常の配置方向に応じた方向を予め優先方向として一律に設定すれば、ミシンは作業者の設定作業を要することなく効率的に移動方向を変更できる。
【００１１】
請求項４のミシンにおいて、前記移動制御手段は、前記特徴部分の境界線の延びる方向に応じて前記保持体の移動方向を変更して、前記保持体を移動することを特徴とする。該ミシンは、特徴部分の境界線の延びる方向に応じて保持体の移動方向を変更することで、効率的且つ確実に障害物が針棒に干渉することを回避することができる。
【００１２】
請求項５のミシンにおいて、前記移動制御手段は、前記第二領域が、前記第一領域の画像中の前記第三領域の周囲に予め設定した第四領域に重なった場合、前記移動機構を制御して、前記保持体の移動速度を減速することを特徴とする。該ミシンは、障害物を含む第二領域が第三領域の周囲に設定した第四領域に重なると保持体の移動速度を減速する。第二領域は減速後に第三領域に重なるので、ミシンは、障害物が針棒に装着した縫針に干渉することを更に確実に回避することができる。
【００１３】
請求項６のミシンにおいて、前記移動制御手段は、前記保持体が移動可能範囲の一端に到達した場合、前記保持体の移動方向を、前記保持体の移動方向の反対方向に変更して、前記保持体を移動することを特徴とする。即ち、該ミシンは、移動方向を自動的に反転する。故に、縫製対象物が切り替わり、障害物の位置や形状が変わったとしても、作業者は優先回避方向を設定し直さなくてもよい。
【００１４】
請求項７のミシンは、前記移動制御手段が前記移動方向を前記反対方向に変更した後、前記保持体が前記移動可能範囲の他端に到達した場合、エラー発生を報知する報知手段を更に備えたことを特徴とする。該ミシンは、何らかの不具合で障害物の位置がずれてしまい、回避不能な状態になったことを作業者に報知できる。故に、作業者は報知後に適切な措置を取ることができる。
【図面の簡単な説明】
【００１５】
【図１】ミシン１の斜視図である。
【図２】ミシン１の前端部７の右側面図である。
【図３】ミシン１の電気的構成を示すブロック図である。
【図４】座標系６０１、縫製可能範囲６１１、所定領域５３の説明図である。
【図５】イメージセンサ５０が出力する画像データのうちＲ値データの一例の説明図である。
【図６】ＬＣＤ３２が表示する撮影画像の一例を示す図である。
【図７】縫製処理のフローチャートである。
【図８】制限領域マップの一例の説明図である。
【図９】送り移動処理のフローチャートである。
【図１０】移動処理のフローチャートである。
【図１１】回避領域マップ作成処理のフローチャートである。
【図１２】回避領域マップの一例の説明図である。
【図１３】画像監視処理のフローチャートである。
【図１４】移動方向変更処理のフローチャートである。
【図１５】回避領域５１２が減速領域５７に重なった状態の説明図である。
【図１６】回避領域５１２が制限領域５６に重なった状態における移動方向変更と中継位置設定の説明図である。
【図１７】回避領域５１２が制限領域５６に重なった状態における移動方向変更と中継位置設定の別の説明図である。
【発明を実施するための形態】
【００１６】
以下、図面を参照して、本発明の実施形態のミシン１について説明する。図１の上側、下側、左斜め下側、右斜め上側、左斜め上側、右斜め下側は夫々ミシン１の上側、下側、前側、後側、左側、右側である。
【００１７】
図１を参照し、ミシン１の全体構造について説明する。図１に示す如く、ミシン１は、ベッド部２、脚柱部３、アーム部４を備える。ベッド部２はテーブル９５に載置する。ベッド部２は前後方向に延び、内部に垂直釜（図示略）等を備える。脚柱部３はベッド部２後側から鉛直上方に延びる。脚柱部３は内部にミシンモータ１１２（図３参照）等を備える。アーム部４は脚柱部３上端からベッド部２の上面に対向して前方に延び、前端に前端部７を備える。アーム部４は内部に主軸、針棒駆動機構（図示略）等を備える。針棒１０は、前端部７の下端から下方へ延びる。縫針１１は針棒１０の下端に着脱可能である。
【００１８】
ミシン１は、ベッド部２の上方に作業台５と移送装置６を備える。作業台５は、針板５０１を備える。針板５０１は、針棒１０に装着した縫針１１の直下の位置に、縫針１１が挿通可能な針穴５０２を有する。移送装置６は、移送板６１、昇降部６２、押え板６３、移送板保持部６４、Ｘ軸移動機構（図示略）、腕部６５、Ｙ軸移動機構（図示略）を備える。
【００１９】
移送板６１は水平方向に配置した板部材であり、平面視矩形状の開口を有する。移送板保持部６４は左右方向に延び、移送板６１をＸ軸方向（左右方向）に移動可能に支持する。Ｘ軸移動機構は、ベッド部２の内部に設けてある。Ｘ軸移動機構は、Ｘ軸モータ１１４（図３参照）を駆動源として、移送板６１をＸ軸方向（左右方向）へ移動する。移送板保持部６４に連結する腕部６５は、脚柱部３内に設けたＹ軸移動機構に接続する。Ｙ軸移動機構は、Ｙ軸モータ１１６（図３参照）を駆動源として、腕部６５をＹ軸方向（前後方向）へ移動する。移送板保持部６４は、腕部６５の移動に伴ってＹ軸方向（前後方向）へ移動する。
【００２０】
移送板保持部６４が支持する移送板６１は、移送板保持部６４と共に移動する。移送板保持部６４は、昇降部６２を昇降可能に支持する。押え板６３は昇降部６２下端に連結する矩形枠状の板部材である。押え板６３の開口は、移送板６１の開口と略同一形状である。作業者は縫製対象物（例えば加工布）を移送板６１上に載置する。昇降部６２が下方に移動すると、押え板６３は下降する。押え板６３と移送板６１は、縫製対象物を上下から挟んで保持する。以下、移送板６１と押え板６３を総称して保持体６０という。
【００２１】
作業者は、縫製対象物に応じて保持体６０に補助押え部材を装着する時がある。例えば、バッグの持ち手部分等、縫製対象物に先に縫い付けられたパーツを縫製の妨げにならないよう固定する必要がある場合がある。該場合、作業者は、押え板６３の他に、縫製対象物を上から押える補助押え部材を使用する。例えば、図１は、保持体６０に補助押え部材５１０を２個装着した例である。補助押え部材５１０は、押え板６３よりも厚みがある板材である。即ち、補助押え部材５１０の上端は、常に押え板６３の上面よりも上方にある。補助押え部材５１０は、平面視で矩形の短辺のうち一方の中央部が外側へ向けて矩形状に突出した形状を呈する。作業者は、ミシン１の前後方向を補助押え部材５１０の長手方向として、補助押え部材５１０を縫製対象物（図６では図示略）上に配置する。
【００２２】
ミシン１はテーブル９５上に設けた操作パネル８と、操作パネル８に接続した操作箱３０を備える。操作パネル８、操作箱３０は夫々、各種情報、各種指示を入力する為のキー群と、情報表示用のディスプレイを備える。作業者は情報又は指示を入力する場合、操作パネル８又は操作箱３０を使用する。ミシン１は、テーブル９５下方に制御装置１００（図３参照）を格納する制御箱（図示略）を備える。操作パネル８はコード（図示略）を介して制御箱に接続する。操作箱３０はケーブル９を介して操作パネル８に接続可能である。
【００２３】
図２を参照し、アーム部４の前端部７周辺の構成について説明する。前端部７は、上糸５５を案内する為の構成、縫針１１を装着した針棒１０、押え足１３を装着した押え棒１２、イメージセンサ５０等を備える。上糸５５を案内する為の構成は、前端部７の右側面に設けた副糸調子器１５、糸調子器１６、糸案内１７、１８、天秤１９、糸案内２０を含む。上糸５５は、テーブル９５（図１参照）に設けた糸駒立て（図示略）に載置した糸駒から、副糸調子器１５、糸調子器１６、糸案内１７、糸案内１８、天秤１９、糸案内２０を経由し、縫針１１の針孔１１１に挿通する。前述したように、針棒１０は、前端部７下端から下方へ延びる。ミシンモータ１１２（図３参照）は主軸（図示略）を回転駆動する。針棒駆動機構（図示略）は、主軸の回転駆動に伴って針棒１０を上下動する。
【００２４】
押え棒１２は、針棒１０の左方（図２の背面側）で前端部７の下端から下方へ延びる。押え足１３は押え棒１２下端部に装着する。押え足駆動機構（図示略）は、主軸の回転駆動に伴う針棒１０の上下動に同期して、押え棒１２を上下動する。押え足１３は、縫針１１が縫製対象物から抜ける時に上方から縫製対象物を押えることで、縫製対象物が上方へ浮き上がるのを防止する。押え足１３の先端部は円筒状の筒部１３１である。縫針１１は、筒部１３１の貫通穴を通って縫製対象物に刺さる。縫針１１は筒部１３１下方の針穴５０２を通って上下動する。
【００２５】
イメージセンサ５０は、ミシン１のフレーム（図示略）に設けた支持部５１に固定する。イメージセンサ５０は、例えば周知のＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）であり、撮影した画像の画像データを出力する。イメージセンサ５０のレンズ（図示略）は、縫針１１の下方を含む所定領域を撮影可能な方向に向いている。イメージセンサ５０の撮影範囲について後で詳述する。
【００２６】
図３を参照し、ミシン１の電気的構成について説明する。図３に示す如く、ミシン１の制御装置１００は、ＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３、不揮発性メモリ１０４、入出力インターフェース（Ｉ／Ｆ）１０６、駆動回路１１３、１１５、１１７、通信Ｉ／Ｆ１２７を備える。ＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３、不揮発性メモリ１０４は、バス１０５を介して入出力Ｉ／Ｆ１０６に電気的に接続する。ＣＰＵ１０１は、ミシン１の制御を司り、ＲＯＭ１０２が記憶する各種プログラムに従って、縫製に関わる各種演算及び処理を実行する。ＲＯＭ１０２は、各種プログラム、各種初期設定パラメータ、複数の模様（縫目線、縫目模様、刺繍模様等）の縫製データ等を記憶する。縫製データについては後述する。ＲＡＭ１０３は、ＣＰＵ１０１の演算結果、ポインタ、カウンタ等を一時的に記憶する。不揮発性メモリ１０４は、ミシン１で作成した縫製データ、作業者が入力した各種設定情報等を記憶する。
【００２７】
駆動回路１１３、１１５、１１７は、入出力Ｉ／Ｆ１０６に電気的に接続する。駆動回路１１３はミシンモータ１１２に電気的に接続する。ＣＰＵ１０１は、駆動回路１１３を介してミシンモータ１１２を制御する。ミシンモータ１１２は主軸を回転駆動する。駆動回路１１５はＸ軸モータ１１４に電気的に接続する。駆動回路１１７はＹ軸モータ１１６に電気的に接続する。ＣＰＵ１０１は、駆動回路１１５、１１７を介してＸ軸モータ１１４、Ｙ軸モータ１１６を夫々制御する。Ｘ軸モータ１１４、Ｙ軸モータ１１６は何れもパルスモータである。Ｘ軸モータ１１４、Ｙ軸モータ１１６は夫々、Ｘ軸移動機構、Ｙ軸移動機構を駆動することで、保持体６０をＸ軸方向、Ｙ軸方向に移動する。
【００２８】
ＣＰＵ１０１は、縫製時に、ミシンモータ１１２を駆動して主軸を回転駆動することで、針棒１０、押え棒１２の上下動と垂直釜の回転を制御する。ＣＰＵ１０１は、ミシンモータ１１２の駆動と同時に、縫製データに基づきＸ軸モータ１１４、Ｙ軸モータ１１６を駆動して、保持体６０の位置を制御する。ミシン１は該動作で縫製対象物上に縫製を行う。
【００２９】
通信Ｉ／Ｆ１２７は入出力Ｉ／Ｆ１０６に電気的に接続する。通信Ｉ／Ｆ１２７は、例えばシリアル通信用のインターフェースである。ミシン１は、通信Ｉ／Ｆ１２７を介して外部機器に接続可能である。本実施形態では、操作箱３０はミシン１に接続する。尚、図３に示す如く、操作箱３０は、ケーブル９で接続した操作パネル８を介して、通信Ｉ／Ｆ１２７に接続してある。
【００３０】
Ｘ方向原点センサ１１８、Ｙ方向原点センサ１１９、起動スイッチ１２１、操作パネル８、イメージセンサ５０は夫々、制御装置１００の入出力Ｉ／Ｆ１０６に電気的に接続する。Ｘ方向原点センサ１１８は、Ｘ軸移動機構（図示略）に設けた原点設定用の周知の構成のセンサである。Ｙ方向原点センサ１１９は、Ｙ軸移動機構（図示略）に設けた原点設定用の周知の構成のセンサである。起動スイッチ１２１は、テーブル９５下方に設置し、制御装置１００にコードで接続するペダル式のスイッチである。作業者は、ミシン１の各種動作（例えば縫製処理）を開始する時に起動スイッチ１２１を踏み込む。操作パネル８、イメージセンサ５０については前述の通りである。
【００３１】
図３に示す如く、操作箱３０は、制御装置３００、液晶ディスプレイ（以下、ＬＣＤという）３２、タッチパネル３３、キー群３４を備える。制御装置３００は、ＣＰＵ３０１、ＲＯＭ３０２、ＲＡＭ３０３、入出力Ｉ／Ｆ３０６、通信Ｉ／Ｆ３０７、駆動回路３０８を備える。ＣＰＵ３０１、ＲＯＭ３０２、ＲＡＭ３０３は、バス３０５を介して入出力Ｉ／Ｆ３０６に電気的に接続する。駆動回路３０８は、入出力Ｉ／Ｆ３０６に電気的に接続する。駆動回路３０８はＬＣＤ３２に電気的に接続する。タッチパネル３３は、入出力Ｉ／Ｆ３０６に電気的に接続する。キー群３４は、入出力Ｉ／Ｆ３０６に電気的に接続する。
【００３２】
ＣＰＵ３０１は、操作箱３０の制御を司り、ＲＯＭ３０２が記憶する各種プログラムとミシン１が送信したデータに従って、ＬＣＤ３２への画像表示、キー群３４からの入力受付等の処理を実行する。ＲＡＭ３０３は、ＣＰＵ３０１の演算結果、ポインタ、カウンタ等を一時的に記憶する。通信Ｉ／Ｆ３０７は入出力Ｉ／Ｆ３０６に電気的に接続する。通信Ｉ／Ｆ３０７は、例えばシリアル通信用のインターフェースである。操作箱３０は、通信Ｉ／Ｆ３０７を介してミシン１に接続する。ＣＰＵ１０１は、タッチパネル３３、キー群３４から入力した情報をミシン１に送信する。
【００３３】
ＬＣＤ３２は、各種情報を画像表示する表示画面を有する。本実施形態では、ＬＣＤ３２は、イメージセンサ５０が撮影した画像を表示可能である。タッチパネル３３は、ＬＣＤ３２の表面に設ける。タッチパネル３３は、作業者が指又はスタイラスペンで触れたタッチパネル３３上の位置（詳細には、ＬＣＤ３２の表示画面に対応するＸＹ座標系の座標）を検出する。ミシン１のＣＰＵ１０１は、タッチパネル３３が検出した該位置を認識可能である。作業者は、ＬＣＤ３２が表示する画像を見ながらタッチパネル３３上に触れることで、特定位置の指定や各種指示の入力を行うことができる。キー群３４は、作業者が各種情報、指示を入力する為のものである。キー群３４は、四方向矢印キー、数字キー、機能キー等を含む。
【００３４】
図４を参照し、本実施形態における縫製データ、ミシン１の縫製可能範囲（保持体６０の可動範囲）、イメージセンサ５０の撮影範囲について説明する。
【００３５】
縫製データは、模様を縫製する為の複数の針落ち点の位置を、縫針１１の位置と保持体６０の位置との相対位置で示す。針落ち点は、針棒１０と共に縫針１１が下方に移動した時、縫針１１が刺さる縫製対象物上の予定位置である。本実施形態では、針落ち点の位置は、保持体６０に対して設定する座標系６０１の座標データで示す。座標系６０１は、Ｘ軸モータ１１４、Ｙ軸モータ１１６（図３参照）の座標系である。本実施形態では、座標系６０１はワールド座標系と予め対応付ける。ワールド座標系は空間全体を示す座標系であり、撮影対象物の重心等の影響を受けることのない座標系である。
【００３６】
座標系６０１では、Ｘ軸プラス方向はミシン１の左から右に向かう方向であり、Ｙ軸プラス方向はミシン１の前から後に向かう方向である。本実施形態では、座標系６０１の原点Ｏ（Ｘ，Ｙ，Ｚ）＝（０，０，０）は、保持体６０（より詳細には押え板６３の開口内側の領域）の中心点が縫針１１（図３参照）の直下にある位置と定める。保持体６０の該位置を絶対原点位置という。該位置は、保持体６０の中心点が針穴５０２の真上にある位置と言い換えることもできる。本実施形態の移送装置６は、縫製中に保持体６０をＺ方向（ミシン１の上下方向）に移動しないので、針落ち点の座標データのＺ座標は常にゼロである。
【００３７】
縫製データは、座標データの示す針落ち点が順に縫針１１（図３参照）の直下に位置するように保持体６０を移動しながら縫製を行う為のデータである。詳細には、本実施形態の縫製データは、Ｘ軸モータ１１４、Ｙ軸モータ１１６の夫々の駆動パルス数（回転方向を含む）と、「縫製」か「送り」かを示す種別を対応付けて順に並べたデータである。「縫製」は、保持体６０を移動し且つ縫針１１を針落ち点で縫製対象物に刺して縫目を形成する動作である。「送り」は、縫目を形成せず保持体６０の移動のみ行う動作である。詳細は後述するが、ＣＰＵ１０１は、縫製データを順に読み出して処理を行う。尚、縫製データは上記の形式に限らず、針落ち点の座標データと種別を対応付けたデータでもよい。ＣＰＵ１０１は、保持体６０の移動の都度、該データ中の座標データに基づき、Ｘ軸モータ１１４、Ｙ軸モータ１１６の夫々の回転方向と駆動パルス数を算出してもよい。
【００３８】
保持体６０の内側の領域のうち、ミシン１が縫製を行うことができる範囲を縫製可能範囲６１１という。縫針１１と保持体６０の干渉を防止する為、縫製可能範囲６１１は、保持体６０の内側の領域よりも小さく設定する。縫製可能範囲６１１は、例えば座標系６０１の原点Ｏを中心としてＸ軸方向、Ｙ軸方向に対称な領域である。本実施形態では、縫製可能範囲６１１は保持体６０の移動可能範囲と等しい。ミシン１は、保持体６０が移動可能範囲の端（以下、可動域端という）に到達したことを検出する構成を備える。
【００３９】
図示しないが、該構成は、例えば、Ｘ方向ストッパ、Ｘエンコーダ、Ｙ方向ストッパ、Ｙエンコーダを含む。Ｘ方向ストッパは、移送板保持部６４の左右二箇所に設ける。Ｙ方向ストッパは、腕部６５の前後二箇所に設ける。Ｘエンコーダ、Ｙエンコーダは、夫々、Ｘ軸モータ１１４、Ｙ軸モータ１１６の回転量を検出して信号を出力するロータリーエンコーダである。
【００４０】
保持体６０（移送板６１）がＸ方向（左右方向）に移動して何れかのＸ方向ストッパに接触すると、Ｘ方向ストッパは保持体６０の移動を阻止する。故に、Ｘエンコーダは信号を出力しないので、ＣＰＵ１０１は、保持体６０がＸ方向における可動域端に到達したことを認識できる。ＣＰＵ１０１は、Ｙ方向ストッパとＹエンコーダを用いて、同様に、保持体６０がＹ方向における可動域端に到達したことも認識できる。尚、保持体６０が可動域端に到達したことを検出する構成は、移送板保持部６４の左右二箇所、腕部６５の前後二箇所に設けた接触式センサ等、他の構成でもよい。
【００４１】
本実施形態のイメージセンサ５０は、縫針１１の下方を含む所定領域、より詳細には縫針１１の直下にある針穴５０２（図１参照）を中心とした矩形状の所定領域５３を撮影可能である。図４に示す如く、保持体６０が絶対原点位置にある時の所定領域５３は、座標系６０１の原点Ｏを中心とする矩形領域である。本実施形態では、イメージセンサ５０は、縦４８０画素、横６４０画素で構成する所定領域５３の画像（以下、撮影画像という）の画像データを定期的に出力する。詳細には、イメージセンサ５０は、ＲＧＢ形式の２５６階調の階調値（ＲＧＢ値）を示すデータを、Ｒ値データ、Ｇ値データ、Ｂ値データの３種類に分けて定期的に出力する。イメージセンサ５０が出力した最新の画像データは、ＲＡＭ１０３の所定の記憶エリアに格納する。図５は、Ｒ値データの一例を示している。Ｒ値データは、縦４８０画素、横６４０画素の各画素が１バイト（ｂｙｔｅ）に対応し、１バイトのデータが０〜２５５の何れかのＲ値を示す。図示しないが、Ｇ値データ、Ｂ値データも同様のデータである。
【００４２】
ミシン１は、最新の画像データに基づき、操作箱３０のＬＣＤ３２（図１参照）に撮影画像をリアルタイムで表示可能である。イメージセンサ５０は縫製対象物の表面に対して斜め上方から縫製対象物を撮影するので、針棒１０等は撮影画像中に斜めに写りこむ。故に、ＣＰＵ１０１は、例えば図６に示す如く、撮影画像を真上から見た画像に視点変換した上で表示するのが好ましい。尚、図６の例と以下の説明では、撮影画像が針棒１０のみを含む例を挙げるが、撮影画像が押え足１３等を含む場合も同様である。画像の視点変換方法は周知なので説明を省略するが、例えば特開２００９−１７２１２２号公報に記載の方法を採用することができる。但し、ＣＰＵ１０１は、視点変換は行わずに撮影画像をそのまま表示してもよい。何れの場合も、作業者は、ＬＣＤ３２が表示する撮影画像で所定領域５３の状態を確認することができる。
【００４３】
図７〜図１７を参照し、ミシン１の縫製処理について説明する。図７の縫製処理は、ＣＰＵ１０１が縫製処理の実行指示の入力を検知した時に開始する。ＣＰＵ１０１は、ＲＯＭ１０２から縫製処理用のプログラムを読み出して実行する。作業者は、まず、操作パネル８のキーを操作して、縫製対象の模様の識別番号を選択する。ＣＰＵ１０１は、作業者が選択した模様（以下、選択模様という）の識別番号の入力を受け付け、該識別番号に対応する縫製データをＲＯＭ１０２又は不揮発性メモリ１０４からＲＡＭ１０３の所定の記憶エリアに読み出す（Ｓ１）。
【００４４】
ＣＰＵ１０１は、制限領域と減速領域を設定し、制限領域マップを作成してＲＡＭ１０３に記憶する（Ｓ２）。制限領域は、所定領域５３の撮影画像中の少なくとも針棒１０に対応する範囲である。ＣＰＵ１０１は、後述する送り移動処理において、障害物が針棒１０に装着した縫針１１と干渉することを回避する為に、撮影画像中で後述の回避領域が制限領域と重なると、回避領域が制限領域と重ならない方向に保持体６０の移動を制御する。減速領域は、所定領域５３の制限領域の周囲に予め設定する領域である。ＣＰＵ１０１は、後述する送り移動処理において、回避領域が撮影画像中で減速領域に重なると、保持体６０の移動速度を減速する。
【００４５】
本実施形態では、作業者は、ＬＣＤ３２が表示する所定領域５３の撮影画像（図６参照）を見ながら、タッチパネル３３上で針棒１０に対応する範囲の境界線をスタイラスペン等でなぞって指定する。作業者は、同様の方法で、制限領域５６の周囲の任意の領域を減速領域５７として指定する。ＣＰＵ１０１は、タッチパネル３３が検出した２つの領域の境界線の座標を認識する。ＣＰＵ１０１は、２つの領域の境界線のうち内側にある境界線の座標に基づいて制限領域５６を設定し、外側にある境界線の座標に基づいて減速領域５７を設定する。制限領域５６は、内側の境界線から内側の領域である。減速領域５７は、外側の境界線と内側の境界線の間の領域である。以下では、説明の簡単化の為、針棒１０に対応する範囲のみを制限領域５６として設定するものと仮定する。しかし、針棒１０の他、押え足１３等も前端部７の下端から下方に突出している。故に、制限領域は、針棒１０に加え、押え足１３等に対応する範囲も含む領域として設定してもよい。該場合も、ＣＰＵ１０１は、前述の如く、作業者の指定に応じて制限領域、減速領域を設定すればよい。
【００４６】
制限領域マップは、所定領域５３の撮影画像中の制限領域、減速領域の位置を示すマップである。前述の通り、所定領域５３の撮影画像の大きさは、縦４８０画素、横６４０画素である。制限領域マップは、撮影画像の全画素の各々に１バイト（ｂｙｔｅ）を割り当てた縦４８０バイト、横６４０バイトのデータである。制限領域マップ中の各画素に対応する位置のデータは、該画素が制限領域内にあれば１を示し、減速領域内にあれば２を示し、その他の領域（制限領域でも減速領域でもない領域）内にあれば０を示す。例えば、ＣＰＵ１０１は、図６に示す制限領域５６、減速領域５７の例に対応して、図８に示すような制限領域マップを作成する。制限領域５６である中心部の画素に対応する位置のデータは１を示し、減速領域５７である周囲の画素に対応する位置のデータは２を示し、その他のデータは０を示している。以下の説明では、ＣＰＵ１０１は、Ｓ２で図６に示す制限領域５６、減速領域５７を設定したものとする。
【００４７】
ＣＰＵ１０１は、制限領域マップの作成後、障害物の特徴形状を示す情報（以下、特徴形状情報という）を受け付ける（Ｓ３）。障害物は、保持体６０と共に移動する部材であり且つ針棒１０に装着した縫針１１と干渉する可能性がある部材である。本実施形態では、障害物は補助押え部材５１０（図１参照）である例を説明する。Ｓ３では、作業者は、図６に示す如くＬＣＤ３２が表示する所定領域５３の撮影画像を見ながら、タッチパネル３３上で補助押え部材５１０の特徴形状５１１をスタイラスペン等でなぞって指定する。例えば、特徴形状５１１は、補助押え部材５１０の矩形状の突出部を含む前端部（図６中の太線で示す部分）である。ＣＰＵ１０１は、タッチパネル３３が検出した特徴形状５１１の座標を認識し、特徴形状情報として特定する。特徴形状５１１の特徴形状情報は、例えば、特徴形状５１１を示す線上の特徴点の座標データ等である。
【００４８】
ＣＰＵ１０１は、回避領域を示す情報（以下、回避領域情報という）を受け付ける（Ｓ４）。回避領域は、前述の障害物の特徴形状（図６の例では特徴形状５１１）を含む領域である。前述の制限領域５６に障害物が重なってしまうと、障害物が針棒１０に装着した縫針１１と干渉する可能性が高い。故に、ＣＰＵ１０１は、障害物の周囲の領域を回避領域として、回避領域と前述の制限領域が重なったら、保持体６０を適切な方向に移動する回避動作を行う。Ｓ４では、作業者は、図６に示す如くＬＣＤ３２が表示する所定領域５３の撮影画像を見ながら、タッチパネル３３上で、特徴形状５１１を含む領域の境界線をスタイラスペン等でなぞることで、回避領域５１２を指定する。ＣＰＵ１０１は、タッチパネル３３が検出した回避領域５１２の境界線の座標を認識し、回避領域情報として特定する。回避領域５１２の回避領域情報は、例えば、回避領域５１２の境界線上の特徴点の座標データ等である。
【００４９】
本実施形態では、補助押え部材５１０の高さは均一なので、補助押え部材５１０の特徴形状５１１以外の部分も針棒１０に装着した縫針１１と干渉する可能性がある。故に、回避領域５１２は、補助押え部材５１０が占める領域よりも広い領域である必要がある。しかし、障害物の一部のみが縫針１１と干渉する可能性があり且つＳ３で作業者が指定した特徴形状が該一部に対応する場合、回避領域は特徴形状を含む領域であればよい。即ち、回避領域は、必ずしも障害物全体を含む領域でなくてよい。
【００５０】
ＣＰＵ１０１は、Ｓ３で受け付けた特徴形状情報とＳ４で受け付けた回避領域情報を対応付けて、不揮発性メモリ１０４に記憶する（Ｓ５）。以下では、特徴形状情報と回避領域情報とを対応付けた情報を、対応情報という。対応情報は、特徴形状と回避領域の位置関係を特定する情報である。以下の説明では、ＣＰＵ１０１は、Ｓ５で図６に示す特徴形状５１１の特徴形状情報と回避領域５１２の回避領域情報とを対応付け、対応情報として不揮発性メモリ１０４に記憶したものとする。
【００５１】
ＣＰＵ１０１は、起動スイッチ１２１（図３参照）がＯＮとなったか否かを判断する（Ｓ６）。作業者が起動スイッチ１２１を踏み込まず、起動スイッチ１２１がＯＦＦの場合（Ｓ６：ＮＯ）、ＣＰＵ１０１は選択模様の変更操作があったか否か判断する（Ｓ１２）。選択模様の変更操作があった場合（Ｓ１２：ＹＥＳ）、ＣＰＵ１０１は処理をＳ１に戻す。選択模様の変更操作がない場合（Ｓ１２：ＮＯ）、ＣＰＵ１０１は処理をＳ６に戻す。作業者が起動スイッチ１２１を踏み込むと、起動スイッチ１２１がＯＮとなる（Ｓ６：ＹＥＳ）。ＣＰＵ１０１は、原点設定が必要か否かを判断する（Ｓ７）。原点設定とは、保持体６０を前述の絶対原点位置に移動する動作である。ミシン１は、縫製データに基づいて保持体６０を移動する前に、まず絶対原点位置に保持体６０を移動する。故に、ＣＰＵ１０１は、起動スイッチ１２１がＯＮとなった時、Ｓ１で読み出した縫製データが未処理であれば、原点設定が必要と判断し（Ｓ７：ＹＥＳ）、後述の送り移動処理を行う（Ｓ２０）。ＣＰＵ１０１は、送り移動処理の後、Ｓ６に処理を戻す。
【００５２】
ＣＰＵ１０１は、既に原点設定を行っており、縫製データに基づいて保持体６０を移動する場合、原点設定は不要と判断する（Ｓ７：ＮＯ）。ＣＰＵ１０１は、Ｓ１でＲＡＭ１０３に読み出した選択模様の縫製データのうち、最初の未処理データを取得し、処理対象データとしてＲＡＭ１０３の作業メモリにコピーする（Ｓ８）。ＣＰＵ１０１は、処理対象データの種別が「送り」であるか否か判断する（Ｓ９）。縫製データの最初のデータは、最初の針落ち点が縫針１１の直下にある位置（以下、縫製開始位置という）に保持体６０を移動させる為のデータであり、種別は「送り」である（Ｓ９：ＹＥＳ）。ＣＰＵ１０１は、後述の送り移動処理を行う（Ｓ２０）。ＣＰＵ１０１は、送り移動処理の後、Ｓ６に処理を戻す。尚、ＣＰＵ１０１は上述の原点設定の後、Ｓ６の処理に戻さずＳ８の処理に移行してもよい。ミシン１は起動スイッチ１２１の操作回数を減らすことができる。
【００５３】
縫製開始点まで保持体６０が移動した後、処理対象データの種別は「送り」でなく「縫製」となる（Ｓ９：ＮＯ）。ＣＰＵ１０１は、保持体６０を移動し且つ縫針１１を針落ち点で縫製対象物に刺すことで縫目を形成する縫目形成処理を行う（Ｓ１１）。詳細には、ＣＰＵ１０１は、作業者が設定した回転速度でミシンモータ１１２を駆動して主軸を回転駆動することで、針棒１０の上下動と垂直釜の回転を制御する。ＣＰＵ１０１は、主軸の回転駆動と同期した速度で、処理対象データが示す回転方向で、処理対象データが示す駆動パルス数をＸ軸モータ１１４、Ｙ軸モータ１１６に与えることで、保持体６０を移動する。ミシン１は該動作で縫製データに従って順に縫製対象物に縫目を形成することで、選択模様を縫製する。
【００５４】
ＣＰＵ１０１は、縫目形成処理（選択模様の縫製）の後、選択模様の変更操作があったか否か判断する（Ｓ１２）。選択模様の変更操作があった場合（Ｓ１２：ＹＥＳ）、ＣＰＵ１０１は処理をＳ１に戻す。選択模様の変更操作がない場合（Ｓ１２：ＮＯ）、ＣＰＵ１０１は処理をＳ６に戻す。縫製処理はミシン１の電源がＯＦＦとなると終了する。
【００５５】
以下、図９〜図１７を参照し、送り移動処理について説明する。送り移動処理は、縫針１１を縫製対象物に刺すことなく、目標位置（絶対原点位置または縫製開始位置）まで保持体６０を移動する処理である。ＣＰＵ１０１はまず回避中フラグを０に設定してＲＡＭ１０３に記憶する（Ｓ２０１）。回避中フラグは、ＣＰＵ１０１が通常の移動方向とは異なる方向に保持体６０を移動中であるか否か（回避動作中であるか否か）、及び回避動作中の場合の移動方向を、０、１、２の何れかで示す値である。詳細は後述するが、ＣＰＵ１０１は、回避中フラグを０、１、２の順に設定する。
【００５６】
ＣＰＵ１０１は、目標位置に応じてＸ正負カウンタ（Ｃｘ）とＹ正負カウンタ（Ｃｙ）をセットする（Ｓ２０２）。ＣＰＵ１０１が絶対原点位置に保持体６０を移動する場合、目標位置は原点Ｏであるが、保持体６０の位置は座標系６０１（図４参照）の座標で特定できていない。故に、ＣＰＵ１０１は、Ｘ方向原点センサ１１８とＹ方向原点センサ１１９（図３参照）を用いて原点設定を行う為に、ＣｘとＣｙに十分大きな値をセットする。ＣＰＵ１０１が縫製開始位置を目標位置として保持体６０を移動する場合、保持体６０は既に絶対原点位置にあるので、ＣＰＵ１０１は、処理対象データが示す値をＣｘとＣｙにセットする。ＣＰＵ１０１は、ＲＡＭ１０３に用意したタイマカウンタをリセットし、経過時間のカウントを開始する（Ｓ２０３）。
【００５７】
ＣＰＵ１０１は、移動処理を行う（Ｓ２１０）。移動処理は、目標位置または後述する中継位置に向けてＸ方向、Ｙ方向の少なくとも一方に１パルス分保持体６０を移動する処理である。図１０に示す如く、移動処理では、ＣＰＵ１０１は、所定の時間間隔（例えば、１／１００秒毎）でＸ軸モータ１１４、Ｙ軸モータ１１６にパルスを与えて保持体６０を移動する為に、所定時間が経過したか否かを判断する（Ｓ２１２）。ＣＰＵ１０１は、所定時間が経過しない間待機する（Ｓ２１２：ＮＯ→Ｓ２１２）尚、ミシン１は、作業者の入力した指示に応じて送り移動処理時の保持体６０の移動速度を予め設定可能であってもよい。この場合、所定時間は移動速度に応じて変動する。
【００５８】
ＣＰＵ１０１は、所定時間が経過すると（２１２：ＹＥＳ）、Ｃｘの値が０より大きいか否か判断する（Ｓ２１３）。Ｃｘの値が０より大きい場合（Ｓ２１３：ＹＥＳ）、ＣＰＵ１０１は、Ｘ軸モータ１１４にＸ正方向駆動パルスを１パルス出力する指示を駆動回路１１５（図３参照）に与える（Ｓ２１４）。保持体６０は、Ｘ正方向へ１パルス分移動する。ＣＰＵ１０１は、Ｃｘの値から１を減算し（Ｓ２１５）、処理をＳ２２１に進める。
【００５９】
Ｃｘの値が０より小さい場合（Ｓ２１３：ＮＯ、Ｓ２１７：ＹＥＳ）、ＣＰＵ１０１は、Ｘ軸モータ１１４にＸ負方向駆動パルスを１パルス出力する指示を駆動回路１１５に与える（Ｓ２１８）。保持体６０は、Ｘ負方向へ１パルス分移動する。ＣＰＵ１０１は、Ｃｘの値に１を加算し（Ｓ２１９）、処理をＳ２２１に進める。Ｃｘの値が０の場合（Ｓ２１３：ＮＯ、Ｓ２１７：ＮＯ）、保持体６０は既にＸ軸方向において目標位置または中継位置に到達している。故に、ＣＰＵ１０１は、Ｘ軸方向に保持体６０を動かさずに処理をＳ２２１に進める。
【００６０】
Ｃｙの値が０より大きい場合（Ｓ２２１：ＹＥＳ）、ＣＰＵ１０１は、Ｙ軸モータ１１６にＹ正方向駆動パルスを１パルス出力する指示を駆動回路１１７（図３参照）に与える（Ｓ２２２）。保持体６０は、Ｙ正方向へ１パルス分移動する。ＣＰＵ１０１は、Ｃｙの値から１を減算し（Ｓ２２３）、次の移動までの経過時間をカウントする為タイマカウンタをリセットする（Ｓ２３０）。ＣＰＵ１０１は、移動処理を終了し、図９の送り移動処理に戻る。
【００６１】
Ｃｙの値が０より小さい場合（Ｓ２２１：ＮＯ、Ｓ２２６：ＹＥＳ）、ＣＰＵ１０１は、Ｙ軸モータ１１６にＹ負方向駆動パルスを１パルス出力する指示を駆動回路１１７に与える（Ｓ２２７）。保持体６０は、Ｙ負方向へ１パルス分移動する。ＣＰＵ１０１は、Ｃｙの値に１を加算し（Ｓ２２８）、タイマカウンタをリセットする（Ｓ２３０）。ＣＰＵ１０１は、移動処理を終了し、図９の送り移動処理に戻る。Ｃｙの値が０の場合（Ｓ２２１：ＮＯ、Ｓ２２６：ＮＯ）、保持体６０は既にＹ軸方向において目標位置または中継位置に到達している。ただし、保持体６０がＸ軸方向において目標位置または中継位置に到達していない場合があるので、ＣＰＵ１０１は、次の移動までの経過時間をカウントする為タイマカウンタをリセットする（Ｓ２３０）。ＣＰＵ１０１は、Ｙ軸方向に保持体６０を動かさずに移動処理を終了し、図９の送り移動処理に戻る。
【００６２】
図９に示す如く、ＣＰＵ１０１は、移動処理の後、回避領域マップ作成処理で回避領域マップを作成し、ＲＡＭ１０３に記憶する（Ｓ２４０）。回避領域マップは、最新の撮影画像が特徴形状５１１を含む場合に撮影画像中の回避領域５１２の位置を示すマップである。回避領域マップは、撮影画像の全画素の各々に１バイト（ｂｙｔｅ）を割り当てた縦４８０バイト、横６４０バイトのデータである。回避領域マップ中の各画素に対応する位置のデータは、該画素が回避領域５１２内にあれば１を示し、回避領域外であれば０を示す。回避領域マップと前述の制限領域マップは、何れも撮影画像の全画素の各々に１バイトを割り当てたデータなので、両マップ中の同じ位置のデータは、撮影画像中の同じ画素に対応する。
【００６３】
図１１に示す如く、回避領域マップ作成処理では、ＣＰＵ１０１はまず、回避領域マップの全データを０にする（Ｓ２４１）。ＣＰＵ１０１は、イメージセンサ５０がＲＡＭ１０３に出力した最新の画像データをＲＡＭ１０３の作業用メモリに取得する（Ｓ２４２）。ＣＰＵ１０１は、撮影画像中の特徴形状を識別する処理を行う（Ｓ２４３）。詳細には、ＣＰＵ１０１は、縫製処理（図７参照）のＳ５で不揮発性メモリ１０４に記憶した対応情報をＲＡＭ１０３に取得し、対応情報中の特徴形状情報に基づいて撮影画像と特徴形状との照合処理を行う。ＣＰＵ１０１は、いかなる周知の画像認識方法を用いて該照合処理を行ってもよい。例えば、ＣＰＵ１０１は、撮影画像中の複数の特徴点を抽出し、特徴形状５１１の特徴点間の位置関係と一致する位置関係にある特徴点を探索する。
【００６４】
ＣＰＵ１０１は、撮影画像中で特徴形状を識別できたか否かを判断する（Ｓ２４４）。ＣＰＵ１０１は、Ｓ２４３の照合処理の結果、撮影画像が特徴形状５１１と一致する部分を含むと判断した（特徴形状５１１の特徴点間の位置関係と一致する位置関係にある特徴点を発見した）場合、特徴形状を識別できたと判断すればよい。ＣＰＵ１０１が撮影画像中で特徴形状を識別できなかった場合（Ｓ２４４：ＮＯ）、補助押え部材５１０の特徴形状５１１を有する部分は、イメージセンサ５０の撮影範囲である所定領域５３（図４参照）に進入していない。故に、ＣＰＵ１０１は、そのまま回避領域マップ作成処理を終了し、図９の送り移動処理に戻る。
【００６５】
ＣＰＵ１０１は、撮影画像中で特徴形状を識別できた場合（Ｓ２４４：ＹＥＳ）、Ｓ２４３でＲＡＭ１０３に取得した対応情報から、撮影画像中の回避領域５１２の位置を特定する（Ｓ２４５）。前述の如く、対応情報は特徴形状５１１と回避領域５１２との位置関係を示す。ＣＰＵ１０１は、撮影画像中で発見した特徴形状５１１と一致する部分の特徴点の座標を特定し、対応情報に基づいて撮影画像中の回避領域５１２の特徴点の座標を特定すればよい。尚、ＣＰＵ１０１は、撮影画像中に特徴形状５１１全体と一致する部分はないが、特徴形状５１１のうち所定量以上（例えば特徴点のうち所定割合以上）と一致する部分はある場合、撮影画像が特徴形状５１１と一致する部分を含むと判断してもよい。
【００６６】
ＣＰＵ１０１は、回避領域マップにおいて、回避領域５１２内にある画素に対応する位置のデータを全て１に変更する（Ｓ２４６）。例えば、撮影画像中の左上に特徴形状５１１がある場合（図６の状態よりも保持体６０がミシン１の左後方へ移動した場合）、ＣＰＵ１０１は、図１２に示すような回避領域マップを作成する。特徴形状５１１の周囲の回避領域５１２内の位置に対応するマップ中左上部分のデータは１を示し、その他のデータは０を示している。ＣＰＵ１０１は、回避領域マップを作成した後、回避領域マップ作成処理を終了し、図９の送り移動処理に戻る。
【００６７】
図９に示す如く、ＣＰＵ１０１は、回避領域マップ作成処理の後、画像監視処理を行う（Ｓ２５０）。画像監視処理は、所定領域５３（図４参照）の撮影画像（図６参照）を監視し、回避領域５１２が制限領域５６、減速領域５７に重なった場合にフラグをセットする処理である。図１３に示す如く、画像監視処理では、ＣＰＵ１０１はまず、重なりフラグと減速フラグを０に設定してＲＡＭ１０３に記憶する（Ｓ２５１）。重なりフラグは、回避領域５１２が制限領域５６に重なっているか否かを、１、０の何れかで示す値である。減速フラグは、回避領域５１２が減速領域５７に重なっているか否かを、１、０の何れかで示す値である。
【００６８】
ＣＰＵ１０１は、ＲＡＭ１０３に用意した縦ポインタ（Ｐｖ）、横ポインタ（Ｐｈ）の値を夫々０に設定する（Ｓ２５３）。Ｐｖ、Ｐｈは、夫々、制限領域マップ（図８参照）から処理対象として読み出すデータを特定するポインタである。Ｐｖ＝０は、制限領域マップの１行目を指し、Ｐｈ＝０は、制限領域マップの１列目を指す。ＣＰＵ１０１は、Ｐｖの値が４８０より小さく（Ｓ２６１：ＹＥＳ）、且つＰｈの値が６４０よりも小さい場合（Ｓ２６２：ＹＥＳ）、制限領域マップ上のＰｖとＰｈが示す位置（処理対象の位置）のデータが、０であるか否か判断する（Ｓ２７１）。図８に示す如く、最初の処理対象の１行目１列目のデータは０なので（Ｓ２７１：ＹＥＳ）、対応する位置は、制限領域５６内でも減速領域５７内でもない。ＣＰＵ１０１は、Ｐｈの値に１を加算して、１行目２列目の位置のデータを処理対象とし（Ｓ２７６）、処理をＳ２６２に戻す。
【００６９】
Ｐｈの値は６４０より小さく（Ｓ２６２：ＹＥＳ）、１行目２列目の位置のデータも０なので（Ｓ２７１）、ＣＰＵ１０１は、Ｐｈの値に１を加算し（Ｓ２７６）、処理を再びＳ２６２に戻す。ＣＰＵ１０１は同様にして処理を繰り返し、順に１行目のデータを右方向へ処理していく。ＣＰＵ１０１が６４０列目のデータを処理すると、Ｐｈの値が６４０に達し（Ｓ２６２：ＮＯ）、１行目のデータの処理が終了する。ＣＰＵ１０１は、次の行のデータを処理するためにＰｖの値に１を加算する（Ｓ２６３）と共にＰｈの値を０に戻し（Ｓ２６４）、処理をＳ２６１に戻す。
【００７０】
ＣＰＵ１０１は同様に処理を繰り返す。制限領域マップ上のＰｖとＰｈが示す位置が制限領域５６内又は減速領域５７内となると、該位置のデータは、０ではなくなる（Ｓ２７１：ＮＯ）。ＣＰＵ１０１は、回避領域マップ（図１２参照）上のＰｖとＰｈが示す位置（処理対象の位置）のデータが、１であるか否か判断する（Ｓ２７５）。即ち、ＣＰＵ１０１は、ＰｖとＰｈが示す制限領域５６内又は減速領域５７内の位置が、回避領域５１２内にあるか否かを判断する。ＰｖとＰｈが示す位置のデータが１でなく０の場合（Ｓ２７５：ＮＯ）、ＣＰＵ１０１は次の処理対象を設定し（Ｓ２７６）、処理をＳ２６２に戻す。ＣＰＵ１０１は、同様に処理を繰り返す。
【００７１】
例えば図１５に示す如く回避領域５１２が減速領域５７に重なり、ＰｖとＰｈが示す位置が点（画素）Ｐ１に対応する位置となった場合、制限領域マップ上の該位置のデータは０ではなく（Ｓ２７１：ＮＯ）、回避領域マップ上の該位置のデータは１である（Ｓ２７５：ＹＥＳ）。ＣＰＵ１０１は、制限領域マップ上の該位置のデータは１であるか否か判断する（Ｓ２７７）。制限領域マップ上の該位置は減速領域５７内にあるので、データは１ではなく、２である（Ｓ２７７：ＮＯ）。ＣＰＵ１０１は、減速フラグを１にセットし（Ｓ２７８）、処理をＳ２６２に戻して同様に処理を繰り返す。ＣＰＵ１０１は、減速フラグが１の場合、Ｘ軸モータ１１４、Ｙ軸モータ１１６（図３参照）の回転速度を初期の設定値よりも遅くすることで、保持体６０移動速度を減速する。
【００７２】
例えば図１６に示す如く回避領域５１２が減速領域５７と制限領域５６に重なり、ＰｖとＰｈが示す位置が点（画素）Ｐ２に対応する位置となったとする。制限領域マップ上の該位置は制限領域５６内にあるので、制限領域マップ上の該位置のデータは１である（Ｓ２７７：ＹＥＳ）。ＣＰＵ１０１は、重なりフラグを１に設定し、減速フラグを０に設定する（Ｓ２８０）。ＣＰＵ１０１は、この時のＰｈとＰｖの値をＲＡＭ１０３に記憶しておく。ＣＰＵ１０１は、画像監視処理を終了し、図９の送り移動処理に戻る。尚、本実施形態では、減速領域５７は制限領域５６の周囲にある。故に、ＣＰＵ１０１は処理過程で重なりフラグを１に設定するより前に減速フラグを１に設定する。しかし、その後、回避領域５１２が制限領域５６に重なった場合、ＣＰＵ１０１は、減速フラグより重なりフラグを優先する。
【００７３】
以上に説明したように、画像監視処理で、回避領域５１２が制限領域５６に重なっていることが判明した場合、ＣＰＵ１０１は、重なりフラグを１に設定してその時点で画像監視処理を終了する。回避領域５１２は減速領域５７には重なっているが制限領域５６には重なっていない状態で、ＣＰＵ１０１が前述のＳ２６１〜Ｓ２７８の処理を繰り返し、制限領域マップの４８０行目６４０列目まで処理が終了したとする（Ｓ２６１：ＮＯ）。該場合、ＣＰＵ１０１がＳ２７８で減速フラグを１に設定した状態で、画像監視処理は終了する。回避領域５１２は減速領域５７にも制限領域５６にも重なっていない状態で、ＣＰＵ１０１が前述のＳ２６１〜Ｓ２７８の処理を繰り返し、制限領域マップの４８０行目６４０列目まで処理が終了したとする（Ｓ２６１：ＮＯ）。該場合、重なりフラグと減速フラグは両方とも０のまま、画像監視処理は終了する。
【００７４】
図９に示す如く、送り移動処理では、画像監視処理（Ｓ２５０）の後、ＣＰＵ１０１は、ＲＡＭ１０３が記憶する重なりフラグが１であるか否かを判断すする（Ｓ３０１）。重なりフラグが０である場合（Ｓ３０１：ＮＯ）、現在、回避領域５１２は制限領域５６には重なっていない。即ち、障害物である補助押え部材５１０は制限領域５６から離れた位置にある。ＣＰＵ１０１は回避中フラグが０か否か判断する（Ｓ３０４）。０に設定した回避中フラグは、保持体６０が回避動作中ではないことを示す。回避中フラグが０の場合（Ｓ３０４：ＹＥＳ）、ＣＰＵ１０１はそのまま処理をＳ２１０へ戻し、前述の移動処理を行う。ＣＰＵ１０１は、その後、最新の画像データに基づき、回避領域マップ作成処理（Ｓ２４０）、画像監視処理（Ｓ２５０）を行う。
【００７５】
回避中フラグが０でなければ（Ｓ３０４：ＮＯ）、既に保持体６０は回避動作中である。ＣＰＵ１０１は、回避動作中の仮の目標位置として後述の移動方向変更処理（Ｓ３５０）で中継位置を設定する。ＣＰＵ１０１は、中継位置に到達したか否かを判断する（Ｓ３０５）。具体的には、ＣＰＵ１０１は、ＣｘとＣｙの値が何れも０であれば、中継位置に到達したと判断し（Ｓ３０５：ＹＥＳ）、後述する移動方向変更処理（Ｓ３５０）を行う。
【００７６】
ＣＰＵ１０１は、中継位置に到達していないと判断した場合（Ｓ３０４：ＮＯ）、中継位置に向けてＸ方向、Ｙ方向の少なくとも一方に１パルス分保持体６０を移動する移動処理を行う（Ｓ３１０）。Ｓ３１０の移動処理の内容は、前述の図９のＳ２１０の処理と同じなので、説明は省略する。ＣＰＵ１０１は、Ｓ３１０の移動処理の後、処理を後述するＳ４０１に進める。
【００７７】
ＣＰＵ１０１が画像監視処理で重なりフラグを１とした場合（Ｓ３０１：ＹＥＳ）、回避領域５１２が制限領域５６に重なっているので、障害物である補助押え部材５１０は制限領域５６の近傍にある。故に、ＣＰＵ１０１は、回避中フラグが０か否か判断する（Ｓ３０２）。回避中フラグが０の場合（Ｓ３０２：ＹＥＳ）、ＣＰＵ１０１は、回避動作を開始する為に回避中フラグを１に設定する（Ｓ３０３）。１に設定した回避中フラグは、後述する優先方向に近い方向に保持体６０を移動することを示す。ＣＰＵ１０１は、後述する移動方向変更処理を行う（Ｓ３５０）。
【００７８】
回避中フラグが０でなければ（Ｓ３０２：ＮＯ）、既に保持体６０は回避動作中であるが、ＣＰＵ１０１は後述の移動方向変更処理（Ｓ３５０）で更に移動方向を変更するか否かを確認する。
【００７９】
図１４、図１６、図１７を参照し、移動方向変更処理（図９のＳ３５０）について説明する。移動方向変更処理では、ＣＰＵ１０１はまず、撮影画像中の回避領域５１２の境界線を特定する（Ｓ３５１）。具体的には、ＣＰＵ１０１は、ＲＡＭ１０３が記憶する回避領域マップ（図１２参照）において、データが１であり且つ隣の位置のデータが０である位置を順に特定して繋ぐことで、撮影画像中の回避領域５１２の境界線の位置を特定することができる。
【００８０】
ＣＰＵ１０１は、保持体６０は回避領域５１２が制限領域５６に近づく方向に移動中か否かを判断する（Ｓ３５２）。具体的には、例えば、ＣＰＵ１０１は、図１６に示す如く、撮影画像の中心点Ｐ０（縫針１１の直下にある位置に対応）を通り且つ保持体６０の移動方向に延びる直線Ｌを求める。ＣＰＵ１０１は、中心点Ｐ０から見て移動方向と反対方向で直線Ｌが回避領域５１２の境界線と交差する場合、保持体６０は回避領域５１２が制限領域５６に近づく方向に移動中であると判断することができる。
【００８１】
例えば、図１６の例において、保持体６０の移動方向は矢印Ａで示すＸ正方向Ｙ負方向であるとすると、直線Ｌは、中心点Ｐ０から見て移動方向と反対方向で回避領域５１２の境界線と交差する。故に、ＣＰＵ１０１は、矢印Ａ方向に移動中の保持体６０は、回避領域５１２が制限領域５６に近づく方向に移動中であると判断する。
【００８２】
保持体６０が回避領域５１２が制限領域５６に近づく方向に移動中の場合（Ｓ３５２：ＹＥＳ）、ＣＰＵ１０１は、回避中フラグの値に応じて保持体６０の移動方向を変更する。ＣＰＵ１０１は、回避中フラグが２か否かを判断する（Ｓ３７１）。詳細は後述するが、２に設定した回避中フラグは、優先方向の反対方向に近い方向に保持体６０を移動することを示す。回避中フラグが２ではない場合（Ｓ３７１：ＮＯ）、回避中フラグが１であるので、ＣＰＵ１０１は、移動方向を、境界線の傾きに沿い且つ優先方向に近い方向に変更し（Ｓ３７２）、処理をＳ３７５に進める。回避中フラグが２の場合（Ｓ３７１：ＹＥＳ）、ＣＰＵ１０１は、移動方向を、境界線の傾きに沿い且つ優先方向の反対方向に近い方向に変更し（Ｓ３７３）、処理をＳ３７５に進める。
【００８３】
優先方向は、例えば、ミシン１の製造者が予め設定しＲＯＭ１０２又は不揮発性メモリ１０４に記憶した一定方向である。障害物となる補助押え部材は、一般的に、ミシン１の後側から前側に向けて延びる場合が多い。該場合、保持体６０をミシン１の後側へ向けて移動することで、障害物を回避できる可能性は高くなる。故に、ミシン１の製造者は、保持体６０をミシン１の前側から後側へ向かう方向、即ち、Ｙ正方向を優先方向として設定すればよい。該場合、ＣＰＵ１０１は、作業者の設定作業を要することなく効率的に移動方向を変更できる。但し、優先方向は、ミシン１の製造者が予め設定した一定方向に限らない。例えば、ＣＰＵ１０１は、図７の縫製処理のＳ５の後、作業者が入力した方向を優先方向として設定してもよい。作業者は、使用する補助押え部材の取付け方向に応じて、適切な方向を入力する。該場合、ＣＰＵ１０１は、該取付け方向に応じた適切な方向を優先方向に設定できる。
【００８４】
境界線の傾きは、例えば、Ｘ軸に対して反時計周り方向の角度で特定することができる。境界線の傾きは、前述の直線Ｌと回避領域５１２の境界線の交点（複数交点がある場合、中心点Ｐ０に近い方の交点）を基準として特定する。図１７に示す如く境界線が曲線を含む場合、ＣＰＵ１０１は、直線Ｌと境界線の交点Ｐ５における接線Ｔ１を求め、該接線Ｔ１の傾きを使用すればよい。回避領域５１２の境界線、即ち、障害物の外縁に沿った方向に保持体６０の移動方向を変更することで、効率的且つ確実に障害物が針棒１０に装着した縫針１１に干渉することを回避することができる。
【００８５】
例えば、図１６の例において、保持体６０の元の移動方向は矢印Ａの示すＸ正方向Ｙ負方向であるとする。回避領域５１２の境界線の傾きは、Ｘ軸に対して９０度である。該例において優先方向がＹ正方向の場合、変更後の移動方向は、矢印Ｂで示すＹ正方向である。図１７の例において、優先方向がＹ正方向の場合、変更後の移動方向は、矢印Ｃで示す、接線Ｔ１に沿って図中右上に向かう方向である。
【００８６】
Ｓ３７５において、ＣＰＵ１０１は、前述の直線Ｌと回避領域５１２の境界線との交点から、境界線が変更後の移動方向に所定距離以上延びているか否かを判断する。該所定距離は、予め設定した一定距離でもよいし、作業者が縫製処理前に設定し不揮発性メモリ１０４に記憶した値でもよい。境界線が所定距離以上延びている場合（Ｓ３７５：ＹＥＳ）、ＣＰＵ１０１は、現在位置（現在縫針１１の直下にある点）から、変更後の移動方向の反対方向に所定距離離れた位置にある１点を中継位置として設定する（Ｓ３７６）。ＣＰＵ１０１は中継位置をＣｘ、Ｃｙにセットする（Ｓ３７９）。
【００８７】
中継位置は、現在位置から目標位置に保持体６０を移動する時、少なくとも現在位置から移動方向を変えずに障害物を回避した状態で移動可能な位置である。ミシン１は、中継位置を設定することで可能な限り最短距離で保持体６０を目標位置に向けて移動できる。
【００８８】
図１６の例では、ＣＰＵ１０１は、現在縫針１１の直下にある点Ｐ０から、矢印Ｂで示す変更後の移動方向の反対方向に所定距離Ｄ１離れた点Ｐ３を中継位置とする。変更後の移動方向はＹ正方向なので、点Ｐ３は、点Ｐ０からＹ負方向に所定距離Ｄ１離れた位置にある。ＣＰＵ１０１は、ＬＣＤ３２の画面上での点Ｐ０と点Ｐ３の位置関係を、座標系６０１（図４参照）での位置関係に変換する。詳細には、ＣＰＵ１０１は、ＬＣＤ３２の画面上の点Ｐ０と点Ｐ３の座標を座標系６０１における点の座標に変換する。二次元座標をワールド座標系の三次元座標に変換する方法は周知なので説明を省略するが、例えば特開２００９−１７２１２２号公報に記載の方法を採用することができる。
【００８９】
ＣＰＵ１０１は、変換後の現在位置と中継位置の位置関係に基づき、中継位置が縫針１１の直下に位置するように保持体６０を移動する為のＸ軸モータ１１４、Ｙ軸モータ１１６（図３参照）の夫々の駆動パルス数を算出する。ＣＰＵ１０１は、算出した駆動パルス数に基づき、Ｃｘ、Ｃｙをセットする。即ち、Ｃｘ、Ｃｙの値は、中継位置まで保持体６０を移動する為の値となる。ＣＰＵ１０１は、処理をＳ３８０に進める。
【００９０】
図１７の例の如く、直線Ｌと回避領域５１２の境界線の交点Ｐ５から、境界線が変更後の移動方向（矢印Ｃ）に所定距離以上延びていない場合（Ｓ３７５：ＮＯ）、ＣＰＵ１０１は、境界線の傾きに基づいて中継位置を設定する（Ｓ３７７）。具体的には、ＣＰＵ１０１は、例えば次の方法で中継位置を設定する。ＣＰＵ１０１はまず、変更後の移動方向と反対方向に沿って順に境界線の接線を求める。ＣＰＵ１０１は、接線Ｔ１の傾きから所定量以上傾きが変化した時点の接線Ｔ２を特定する。該所定量は、予め設定した一定量でもよいし、作業者が縫製処理前に設定し不揮発性メモリ１０４に記憶した値でもよい。境界線の傾きの特定方法は前述の通りである。ＣＰＵ１０１は、直線Ｌと回避領域５１２の境界線の交点Ｐ５から、接線Ｔ１と接線Ｔ２の交点Ｐ６までの距離Ｄ２を特定する。ＣＰＵ１０１は、現在縫針１１の直下にある点Ｐ０から、矢印Ｃで示す変更後の移動方向の反対方向に距離Ｄ２離れた点Ｐ７を中継位置とする。ＣＰＵ１０１は、上述した如く中継位置をＣｘ、Ｃｙにセットする（Ｓ３７９）。ＣＰＵ１０１は、処理をＳ３８０に進める。
【００９１】
保持体６０が回避領域５１２が制限領域５６に近づく方向に移動中ではない場合（Ｓ３５２：ＮＯ）、ＣＰＵ１０１は保持体６０を目標位置に向けて移動できるので、回避中フラグを０に変更する（Ｓ３５６）。ＣＰＵ１０１は目標位置をＣｘ、Ｃｙにセットする（Ｓ３７７）。ＣＰＵ１０１は、処理をＳ３８０に進める。
【００９２】
ＣＰＵ１０１は、移動処理を行う（Ｓ３８０）。移動処理では、ＣＰＵ１０１がＳ３７６又はＳ３７７で中継位置を設定した場合、ＣＰＵ１０１は、中継位置に向けてＸ方向、Ｙ方向の少なくとも一方に１パルス分保持体６０を移動する。ＣＰＵ１０１がＳ３５６で回避フラグを０に変更した場合、ＣＰＵ１０１は、目標位置に向けてＸ方向、Ｙ方向の少なくとも一方に１パルス分保持体６０を移動する。Ｓ３８０の移動処理の内容は、前述の図９のＳ２１０の処理と同じなので、説明は省略する。ＣＰＵ１０１は、移動処理の後、移動方向変更処理を終了し、図９の送り移動処理に戻る。
【００９３】
図９に示す如く、移動方向変更処理（Ｓ３５０）の後、又は移動処理（Ｓ３１０）の後、ＣＰＵ１０１は、保持体６０が可動域端に到達したか否かを判断する（Ｓ４０１）。前述の通り、ミシン１は、保持体６０が可動域端に到達したことを検出する構成（図示略）を備える。ＣＰＵ１０１は、保持体６０が可動域端に到達していないと判断した場合（Ｓ４０１：ＮＯ）、目標位置に到達したか否を判断する（Ｓ４１０）。
【００９４】
目標位置が絶対原点位置の場合、ＣＰＵ１０１は、次のように判断を行う。Ｘ方向原点センサ１１８とＹ方向原点センサ１１９（図３参照）は、保持体６０が絶対原点位置に到達した時、検出信号を出力する。故に、ＣＰＵ１０１は、前述の移動処理（Ｓ２１０、Ｓ３１０、Ｓ３８０）で保持体６０が移動した結果、Ｘ方向原点センサ１１８とＹ方向原点センサ１１９からの検出信号を認識した場合、保持体６０の絶対原点位置（目標位置）への移動が完了したと判断する。目標位置が縫製開始位置の場合、ＣＰＵ１０１は、Ｘ正負カウンタ（Ｃｘ）、Ｙ正負カウンタ（Ｃｙ）の値が何れも０になった場合、保持体６０の縫製開始位置（目標位置）への移動が完了したと判断する。ＣＰＵ１０１は、保持体６０がまだ目標位置に到達していない場合（Ｓ４１０）、処理をＳ２５０に戻す。
【００９５】
ＣＰＵ１０１は、保持体６０が可動域端に到達したと判断した場合（Ｓ４０１：ＹＥＳ）、回避中フラグが１であるか否かを判断する（Ｓ４０２）。回避中フラグが１の場合、前述の移動方向変更処理（Ｓ３５０）において、保持体６０の移動方向は、境界線の傾きに沿い且つ優先方向に近い方向に変わっている。即ち、保持体６０は、該方向に移動した結果、可動域端まで到達してしまったことを意味する。故に、ＣＰＵ１０１は、移動方向を更に向に変更する為に、回避中フラグを２に変更し（Ｓ４０３）、処理をＳ２５０に戻す。
【００９６】
回避中フラグが２の状態で処理が移動方向変更処理（Ｓ３５０）に進んだ場合、前述したように、ＣＰＵ１０１は、保持体６０の移動方向を、境界線の傾きに沿い且つ優先方向の反対方向に近い方向に変更することになる。このように、ＣＰＵ１０１は、保持体６０の移動方向を自動的に反転する。故に、縫製対象物が切り替わり、障害物の位置や形状が変わったとしても、作業者は既に設定した優先方向を設定し直さなくてもよい。
【００９７】
回避中フラグが１でなく２の場合（Ｓ４０２：ＮＯ）、ＣＰＵ１０１は保持体６０の移動方向を反転したにもかかわらず、保持体６０は目標位置に到達できず、再度可動域端まで到達してしまった状態である。故に、ＣＰＵ１０１は、例えば、操作箱３０のＬＣＤ３２にエラー発生を示すメッセージを表示することで、作業者にエラー発生を報知し（Ｓ４０５）、作業者が電源スイッチ（図示略）をＯＦＦするのを待つ。ＣＰＵ１０１は、該方法で、何らかの不具合で障害物の位置がずれてしまい、回避不能な状態になったことを作業者に報知できる。故に、作業者は報知後に適切な措置を取ることができる。
【００９８】
以上に説明したように、本実施形態のミシン１のＣＰＵ１０１は、作業者が指定した特徴形状情報、回避領域情報を受け付け、両者を対応付けて対応情報として不揮発性メモリ１０４に記憶する（図７のＳ３〜Ｓ５）。ＣＰＵ１０１は、所定時間毎に、目標位置または中継位置に向けてＸ方向、Ｙ方向の少なくとも一方に１パルス分保持体６０を移動し（Ｓ２１０、Ｓ３１０、Ｓ３８０）、イメージセンサ５０の最新の撮影画像が特徴形状５１１を含むか否か確認する。ＣＰＵ１０１は、撮影画像中で特徴形状５１１を識別した場合、撮影画像中の特徴形状５１１の位置と対応情報に基づき、撮影画像中の回避領域５１２の位置を特定する（Ｓ２４０）。ＣＰＵ１０１は、回避領域５１２が制限領域５６に重なっていないか監視する（Ｓ２５０）。ＣＰＵ１０１は、回避領域５１２が制限領域５６に重なっている場合、保持体６０の移動方向を変更して（Ｓ３５０）、回避領域５１２が制限領域５６に重ならない方向に保持体６０を移動する。
【００９９】
故に、作業者が縫製対象物に応じた部材（補助押え部材５１０）を保持体６０に装着する場合、作業者は、障害物となる該部材の特徴形状５１１と回避領域５１２を設定すればよい。ミシン１は、撮影画像に基づき、該部材に応じて適切に保持体６０の移動を制御することができる。即ち、ミシン１は縫製データに従った移動経路に沿って障害物を回避するのではなく、イメージセンサ５０の撮影画像に基づき、障害物を回避することができる。更に、ミシン１は、保持体６０が絶対原点位置に到達する前でも、障害物が針棒１０に装着した縫針１１と干渉することを回避することができる。ミシンは非接触で障害物を識別できるので、接触式のセンサを用いるミシンに比べ、使用に伴って障害物の検出精度が低下するのを防止できる。上記の通り、ミシン１は保持体６０に装着した障害物に応じて、障害物が縫針１１と干渉することを確実に回避することができる。
【０１００】
ミシン１のＣＰＵ１０１は、イメージセンサ５０の撮影画像を表示するＬＣＤ３２に接続しており、ＬＣＤ３２の表面に設けたタッチパネル３３が検出した位置を認識可能である。作業者は、ＬＣＤ３２の表示画面の撮影画像を見ながら特徴形状５１１と回避領域５１２の位置を表示画面上で指定できる。ＣＰＵ１０１は、作業者が指定した特徴形状５１１と回避領域５１２の位置を認識して特徴形状情報と回避領域情報を受け付け、前述の如く保持体６０の移動を制御する。故に、作業者は、所望の特徴形状５１１と回避領域５１２の位置を視覚的に認識しながら確実かつ容易に指定することができる。
【０１０１】
ＣＰＵ１０１は、回避領域５１２が、制限領域５６の周囲に予め設定した減速領域５７に重なった場合、減速フラグを１に変更することで、保持体６０の移動速度を減速する。即ち、保持体６０の移動速度は、制限領域５６に重なる前に減速する。故に、ミシン１は、障害物が針棒１０に装着した縫針に干渉することを更に確実に回避することができる。
【０１０２】
本実施形態では、移送装置６は、本発明の「移動機構」に相当する。イメージセンサ５０は、「撮影手段」に相当する。所定領域５３（図４参照）は、「第一領域」に相当する。図７の縫製処理のＳ３で「第一情報」に相当する特徴形状情報を受け付けるＣＰＵ１０１は、「第一受付手段」に相当する。Ｓ４で「第二情報」に相当する回避領域情報を受け付けるＣＰＵ１０１は、「第二受付手段」に相当する。回避領域は、「第二領域」に相当する。特徴形状情報と回避領域情報を対応付けて記憶する不揮発性メモリ１０４は、「記憶手段」に相当する。図１１の回避領域マップ作成処理のＳ２４３で、撮影画像中の特徴形状を識別する処理を行うＣＰＵ１０１は、「識別手段」に相当する。Ｓ２４５で、回避領域の位置を特定するＣＰＵ１０１は、「特定手段」に相当する。制限領域５６、減速領域５７（図６参照）は、夫々、「第三領域」、「第四領域」に相当する。図９のＳ３５０の移動方向変更処理、Ｓ３１０の移動処理、Ｓ４０１〜Ｓ４０３の処理を行うＣＰＵ１０１は、「移動制御手段」に相当する。
【０１０３】
Ｓ４０５のエラー報知の処理を行うＣＰＵ１０１は、「報知手段」に相当する。操作箱３０のＬＣＤ３２は、「表示手段」に相当する。タッチパネル３３は「位置認識手段」に相当する。
【０１０４】
本発明は、前述の実施形態の他に種々の変更が可能である。例えば、ＣＰＵ１０１は、タッチパネル３３を介してではなく、作業者が操作パネル８のキー、操作箱３０のキー群３４を操作して入力した情報に基づき、特徴形状、回避領域を設定してもよい。具体的には、作業者は、ＬＣＤ３２の撮影画像を見ながらキー群３４を操作して、特徴形状５１１を示す複数の点を指定する。ＣＰＵ１０１は、作業者が指定した点の位置を特定し、特徴形状情報をして受け付ければよい。ＣＰＵ１０１は、同様の方法で回避領域情報も受け付けることができる。
【０１０５】
制限領域５６と減速領域５７の設定方法として、上記実施形態の方法に代えて次に例示する方法を使用可能である。例えば、ＣＰＵ１０１は、所定領域５３の撮影画像中の針穴５０２（図６参照）を識別し、針穴５０２を中心とする半径Ｘミリの円形領域を制限領域５６として設定する。尚、図６は真上から見た画像に視点変換した画像の例なので針穴５０２は隠れているが、撮影画像では識別可能である。ＣＰＵ１０１は更に制限領域５６の周囲に半径Ｙミリ（但しＹ＞Ｘ）の円形領域を減速領域５７として設定する。Ｘ、Ｙは、予め設定して不揮発性メモリ１０４に記憶した値でもよいし、作業者が操作パネル８又は操作箱３０のキーを操作して入力した値でもよい。Ｘは、針棒１０の直径以上であることが好ましい。更に他の方法では、所定領域５３内に針穴５０２以外の特徴点がある場合、不揮発性メモリ１０４は、該特徴点と針棒１０との位置関係を記憶しておく。ＣＰＵ１０１は撮影画像中の特徴点を識別し、該特徴点を基準として、針棒１０に対応する制限領域、減速領域を設定してもよい。尚、ＣＰＵ１０１は、周知の任意の画像認識技術を用いて撮影画像中の針穴５０２、その他の特徴点を識別すればよい。
【０１０６】
制限領域マップ（図８参照）は予め設定して不揮発性メモリ１０４等に記憶してあってもよい。該場合、ＣＰＵ１０１は、図７の縫製処理のＳ２では、記憶した制限領域マップをＲＡＭ１０３に読み出す処理を行う。制限領域５６の周囲の減速領域５７はなくてもよい。即ち、制限領域マップは、制限領域５６のみを示してもよい。
【０１０７】
上記実施形態では、操作箱３０はミシン１に接続する別体である。故に、ＣＰＵ１０１は、詳細には、撮影画像をＬＣＤ３２に表示する為に、操作箱３０に撮影画像の画像データを送信する。操作箱３０のＣＰＵ３０１は、駆動回路３０８を介して撮影画像をＬＣＤ３２に表示する。しかし、撮影画像を表示する表示手段は、操作パネル８に設けてもよいし、ミシン１の本体（例えば、アーム部４の上部）に設けてもよい。該場合、制限領域５６、減速領域５７、特徴形状５１１、回避領域５１２を指定する情報を入力する為のタッチパネルは、該表示手段の表示画面上に設ける。
【０１０８】
ＣＰＵ１０１は、移動方向変更処理（図１４参照）のＳ３７２で境界線の傾き（境界線の延びる方向）を考慮せず、移動方向を優先方向に変更すると決定してもよい。ＣＰＵ１０１は、Ｓ３７３で境界線の傾きを考慮せず、移動方向の反対方向を優先方向に変更すると決定してもよい。反対に、ＣＰＵ１０１は、優先方向を考慮せず、境界線の延びる方向のみに応じて移動方向を変更してもよい。
【０１０９】
保持体６０が可動域端に到達した場合に移動方向を反対方向に変更する処理（図９のＳ４０１〜Ｓ４０３、図１４のＳ３７１、Ｓ３７３）、移動方向を反対方向に変更した後、保持体６０が可動域端に到達した場合にエラー発生を報知する処理（図９のＳ４０５）は、省略可能である。ＣＰＵ１０１は、エラー発生を報知するメッセージを、ＬＣＤ３２ではなく操作パネル８のディスプレイに表示してもよい。ＣＰＵ１０１は、メッセージ表示でなく、ブザーによる警告音発信やランプの発光でエラー発生を報知してもよい。
【０１１０】
画像監視処理（図１３参照）で制限領域マップ中の走査開始位置は、必ずしも１行目１列目の位置でなくてもよい。例えば、ＣＰＵ１０１は、制限領域内の任意の位置（データが１を示す位置）を特定し、該位置を中心として順に周囲を走査してもよい。ＣＰＵ１０１は、作業者が指示した位置から走査を開始してもよい。
【０１１１】
撮影範囲（所定領域５３）、撮影画像の大きさはイメージセンサ５０の種類等に応じて異なるので、イメージセンサ５０の撮影画像のサイズ、対応する制限領域マップ、回避領域マップのサイズは実施形態の例に限らない。その他に実施形態で挙げた数値も単なる例示であり、適宜変更が可能なことは勿論である。
【符号の説明】
【０１１２】
１  ミシン
６  移送装置
１０  針棒
１１  縫針
３２  ＬＣＤ
３３  タッチパネル
５０  イメージセンサ
６０  保持体
１０１  ＣＰＵ
１０４  不揮発性メモリ
【図１】
2013202211.tif 000003
【図２】
2013202211.tif 000004
【図３】
2013202211.tif 000005
【図４】
2013202211.tif 000006
【図５】
2013202211.tif 000007
【図６】
2013202211.tif 000008
【図７】
2013202211.tif 000009
【図８】
2013202211.tif 000010
【図９】
2013202211.tif 000011
【図１０】
2013202211.tif 000012
【図１１】
2013202211.tif 000013
【図１２】
2013202211.tif 000014
【図１３】
2013202211.tif 000015
【図１４】
2013202211.tif 000016
【図１５】
2013202211.tif 000017
【図１６】
2013202211.tif 000018
【図１７】
2013202211.tif 000019