(57)【要約】【課題】搬送機構の設定値の最適化。【解決手段】印刷媒体の搬送機構を備える印刷装置であって、前記印刷媒体に印刷された印刷成果物の長さである印刷長を含む状態変数に基づいて、前記印刷長を基準に近づける前記搬送機構の設定値を出力する学習済モデルを記憶する記憶部と、前記学習済モデルに基づいて取得された前記設定値によって前記搬送機構を制御して印刷を行う制御部と、を備える印刷装置が構成される。【選択図】図１
2020114653.tif 000002
【特許請求の範囲】
【請求項１】
印刷媒体の搬送機構を備える印刷装置であって、
前記印刷媒体に印刷された印刷成果物の長さである印刷長を含む状態変数に基づいて、前記印刷長を基準に近づける前記搬送機構の設定値を出力する学習済モデルを記憶する記憶部と、
前記学習済モデルに基づいて取得された前記設定値によって前記搬送機構を制御して印刷を行う制御部と、
を備える印刷装置。
【請求項２】
前記学習済モデルの学習は、
前記印刷長を含む前記状態変数を観測し、観測された前記状態変数に基づいて、
前記印刷媒体を挟んで搬送する搬送ローラーによって前記印刷媒体を挟む圧力、前記搬送機構で搬送される前記印刷媒体に作用する張力、前記張力の制御のために実施される前記張力の検出の頻度、前記印刷媒体を既定の位置に吸着させる吸着装置の吸着力の少なくとも一つを含む前記設定値を変化させる行動を決定し、前記印刷長の基準からのずれに基づいて前記設定値を最適化することによって実行される、
請求項１に記載の印刷装置。
【請求項３】
前記学習済モデルの学習は、
前記印刷長の基準からのずれが小さいほど大きくなる報酬に基づいて、
前記状態変数の観測と、当該状態変数に応じた前記行動の決定と、当該行動によって得られる前記報酬の評価とを繰り返すことによって、前記設定値が最適化されることによって実行される、
請求項２に記載の印刷装置。
【請求項４】
前記状態変数には、前記印刷装置の周囲の温度と湿度との少なくとも一方が含まれる、
請求項１〜請求項３のいずれかに記載の印刷装置。
【請求項５】
前記学習済モデルは、前記印刷媒体の種類毎に学習される、
請求項１〜請求項４のいずれかに記載の印刷装置。
【請求項６】
印刷媒体の搬送機構を備える印刷装置で参照される学習済モデルの学習装置あって、
前記印刷媒体に印刷された印刷成果物の長さである印刷長を含む状態変数に基づいて、前記印刷長を基準に近づける前記搬送機構の設定値を出力するモデルを前記学習済モデルとして取得する学習部、
を備える学習装置。
【請求項７】
印刷媒体の搬送機構を備える印刷装置で参照される学習済モデルの学習方法あって、
前記印刷媒体に印刷された印刷成果物の長さである印刷長を含む状態変数に基づいて、前記印刷長を基準に近づける前記搬送機構の設定値を出力するモデルを前記学習済モデルとして取得する、
学習方法。
【請求項８】
印刷媒体の搬送機構を備える印刷装置で参照される学習済モデルの学習をコンピューターに実行させる学習プログラムであって、
前記印刷媒体に印刷された印刷成果物の長さである印刷長を含む状態変数に基づいて、前記印刷長を基準に近づける前記搬送機構の設定値を出力するモデルを前記学習済モデルとして取得する、
機能をコンピューターに実行させる学習プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷装置、学習装置、学習方法および学習プログラムに関する。
【背景技術】
【０００２】
印刷装置においては、印刷成果物が印刷される画像データに基づいた想定通りのサイズで印刷されることが重要である。すなわち、印刷媒体を特定の方向に搬送しながら印刷を行う印刷装置において、印刷媒体の搬送方向における印刷成果物の長さである印刷長を正確に制御しなければ、印刷品質が低下する。例えば、印刷長が印刷される画像データに基づく基準の長さより長くなると、印刷媒体の搬送方向に連続的に印刷されるべき部位に不連続な部位（白い筋）が生じる。印刷長が基準の長さより短くなると、印刷媒体の搬送方向に連続的に印刷されるべき部位が重なって黒い筋が生じる。
【０００３】
従来、印刷媒体の搬送方向における印刷長を基準の長さに近づけるための技術が開発されており、例えば、特許文献１には、印刷媒体に作用する張力を所定以下にする制御を行う技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−２５６０９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、ローラーの経年劣化や印刷媒体の特性、使用環境に応じて搬送機構の設定値を精度良く補正することは従来技術を利用しても困難である場合があった。
【課題を解決するための手段】
【０００６】
上記課題の少なくとも一つを解決するために、印刷媒体の搬送機構を備える印刷装置は、印刷媒体に印刷された印刷成果物の長さである印刷長を含む状態変数に基づいて、印刷長を基準に近づける搬送機構の設定値を出力する学習済モデルを記憶する記憶部と、学習済モデルに基づいて取得された設定値によって搬送機構を制御して印刷を行う制御部と、を備える。この構成によれば、印刷長の状態に応じて最適化された搬送機構の設定値によって搬送機構を制御することが可能になり、長期間にわたって印刷長が基準に近い状態を維持することができる。
【０００７】
さらに、学習済モデルの学習は、印刷長を含む状態変数を観測し、観測された状態変数に基づいて、印刷媒体を挟んで搬送する搬送ローラーによって印刷媒体を挟む圧力、搬送機構で搬送される印刷媒体に作用する張力、張力の制御のために実施される張力の検出の頻度、印刷媒体を既定の位置に吸着させる吸着装置の吸着力の少なくとも一つを含む設定値を変化させる行動を決定し、印刷長の基準からのずれに基づいて設定値を最適化することによって実行される構成であっても良い。すなわち、強化学習によって学習済モデルを学習することにより、印刷長を基準に近づけるために最適な搬送機構の設定値を容易に定義することができる。
【０００８】
さらに、学習済モデルの学習は、印刷長の基準からのずれが小さいほど大きくなる報酬に基づいて、状態変数の観測と、当該状態変数に応じた行動の決定と、当該行動によって得られる報酬の評価とを繰り返すことによって、設定値が最適化されることによって実行される構成であっても良い。この構成によれば、強化学習によって学習済モデルを学習することにより、印刷長を基準に近づけるために最適な搬送機構の設定値を容易に定義することができる。
【０００９】
さらに、状態変数には、印刷装置の周囲の温度と湿度との少なくとも一方が含まれる構成であっても良い。この構成によれば、印刷装置の周囲の環境が変化しても、印刷長が基準に近い状態を維持することができる。
【００１０】
さらに、学習済モデルは、印刷媒体の種類毎に学習される構成であっても良い。この構成によれば、印刷媒体の種類毎に適した搬送機構の設定値を取得することが可能になる。
【００１１】
さらに、印刷媒体の搬送機構を備える印刷装置で参照される学習済モデルの学習装置あって、印刷媒体に印刷された印刷成果物の長さである印刷長を含む状態変数に基づいて、印刷長を基準に近づける搬送機構の設定値を出力するモデルを学習済モデルとして取得する学習部、を備える学習装置が構成されても良い。すなわち、搬送機構の設定値を出力する学習済モデルの学習装置としても発明は成立する。
【図面の簡単な説明】
【００１２】
【図１】印刷装置の構成を示す図である。
【図２】ＰＦローラーの軸方向からみた印刷装置の構成を模式的に示す図である。
【図３】モーター制御部の構成を示す図である。
【図４】強化学習による学習例を示す図である。
【図５】多層ニューラルネットワークの例を示す図である。
【図６】学習処理のフローチャートである。
【図７】印刷処理のフローチャートである。
【発明を実施するための形態】
【００１３】
以下、本発明の実施形態について添付図面を参照しながら以下の順に説明する。なお、各図において対応する構成要素には同一の符号が付され、重複する説明は省略される。
（１）印刷装置および学習装置の構成：
（２）搬送機構の設定値の決定：
（２−１）学習済モデルの学習：
（２−２）搬送機構の設定値の学習例：
（３）印刷処理：
（４）他の実施形態：
【００１４】
（１）印刷装置および学習装置の構成：
図１は、本発明の一実施形態である印刷装置および学習装置の概略構成を示したブロック図である。図１に示した印刷装置１００は、紙送りを行う紙送りモーター（以下、ＰＦモーターともいう。）１ａと、ＰＦモータードライバー２ａと、印刷媒体を蓄積するロール５１ｂ（以下、ＲＰともいう。）と、ロール５１ｂを回転させるＲＰモーター１ｂと、ＲＰモータードライバー２ｂと、キャリッジ３と、キャリッジモーター（以下、ＣＲモーターともいう。）４と、ＣＲモータードライバー５と、印刷媒体５０をプラテンに吸着させる吸着装置６１，６２と、吸着装置ドライバー６０と、ヘッドドライバー７と、モーター制御部６とを備えている。
【００１５】
また、印刷装置１００は、カメラ８と、（リニア式）エンコーダー９と、（リニア式）エンコーダー用符号板１０と、（ロータリー式）エンコーダー１１ａ，１１ｂと、（ロータリー式）エンコーダー用符号板１２ａ，１２ｂと、プーリ１３と、タイミングベルト１４と、プロセッサー２０と、記憶部３０と、温度湿度センサー４０と、印刷媒体５０を搬送するＰＦローラー５１ａ（搬送ローラー）とを備えている。むろん、図１において、印刷装置１００が備え得る他の構成は省略されており、例えば、ヘッドの目詰まり防止のためのインクの吸い出しを制御するポンプ等が備えられていても良い。
【００１６】
温度湿度センサー４０は、印刷装置１００の周囲の温度および湿度を示す情報を出力する。本実施形態においてＰＦモーター１ａは、ＰＦモータードライバー２ａによって回転駆動される。ＰＦモーター１ａが回転すると、ギア等を介してＰＦローラー５１ａを回転させ、印刷媒体５０を搬送する。図２は、ＰＦローラー５１ａの軸方向からみた印刷装置１００の構成を模式的に示す図である。図２に示すように、ＰＦローラー５１ａは、従動ローラー５１ｃとの間に印刷媒体５０を挟み、この状態でＰＦローラー５１ａが回転することにより、ロール５１ｂに蓄積された印刷媒体５０を図２の右から左に搬送する。
【００１７】
ＲＰモーター１ｂは、ＲＰモータードライバー２ｂによって回転駆動される。ＲＰモーター１ｂが回転すると、ギア等を介してロール５１ｂを回転させロール５１ｂから印刷媒体５０をＰＦローラー５１ａ側に供給する。このように、本実施形態においては、ＰＦローラー５１ａとロール５１ｂとの双方が回転駆動するため、それぞれに作用するトルクを調整することにより、ＰＦローラー５１ａとロール５１ｂとの間に存在する印刷媒体５０に作用する張力を調整することができる。
【００１８】
ＣＲモーター４は、ＣＲモータードライバー５によって回転駆動される。ＣＲモーター４が正転、逆転すると、タイミングベルト１４を介してキャリッジ３が直線方向に往復移動する。キャリッジ３には図２に示すヘッド３ａが備えられており、ヘッドドライバー７の制御により複数色のインクのインク滴が吐出され、印刷媒体５０に印刷が行われる。
【００１９】
このように、本実施形態においては、キャリッジ３の直線方向への往復移動とＰＦローラー５１ａによる印刷媒体の搬送を利用して印刷媒体の２次元的な範囲に印刷を行うことができる。本実施形態においては、キャリッジ３の移動方向を主走査方向、ＰＦローラー５１ａによる印刷媒体の移動方向を副走査方向と呼ぶ。本実施形態において、主走査方向と副走査方向とは互いに垂直である。
【００２０】
吸着装置ドライバー６０は、吸着装置６１，６２を駆動するための電力を生成し、吸着装置６１，６２に供給して駆動する。吸着装置６１，６２のそれぞれは、図２に示すファン６１ａ，６２ａを備えている。ファン６１ａ，６２ａは、吸着装置ドライバー６０から供給される電力によって駆動され、当該ファン６１ａ，６２ａが回転することにより印刷媒体５０をプラテンＰに対して吸着させる。この結果、印刷媒体５０はプラテンＰに吸着した状態で搬送方向に搬送される。
【００２１】
ヘッドドライバー７は、キャリッジ３が備える図示しないヘッド３ａに対して印加する電圧を生成し、各ヘッド３ａに対する電圧供給を制御する。各ヘッド３ａに電圧が供給されると、電圧に応じたインク滴が吐出されて印刷媒体に対する印刷が行われる。
【００２２】
本実施形態においてキャリッジ３はカメラ８を備えている。カメラ８は図示しない光源とセンサーとを備えており、光源によって印刷媒体５０が照明された状態で印刷媒体５０の画像を取得することができる。カメラ８はキャリッジ３に搭載されているため、キャリッジ３を移動させることにより、主走査方向の任意の位置の画像を取得することができる。また、印刷媒体５０の画像によれば、印刷媒体５０条で印刷が行われた部位と印刷が行われていない部位とを区別することができる。本実施形態においては、印刷媒体５０上に印刷された画像の、印刷媒体５０の搬送方向である副走査方向における印刷開始位置から印刷終了位置までの長さを印刷長と呼ぶ。
【００２３】
モーター制御部６は、ＰＦモータードライバー２ａと、ＲＰモータードライバー２ｂと、ＣＲモータードライバー５とに直流電流指令値を出力する回路を備えている。ＰＦモータードライバー２ａは、直流電流指令値に応じた電流値でＰＦモーター１ａを回転駆動させる。ＲＰモータードライバー２ｂは、直流電流指令値に応じた電流値でＲＰモーター１ｂを回転駆動させる。ＣＲモータードライバー５は、直流電流指令値に応じた電流値でＣＲモーター４を回転駆動させる。
【００２４】
エンコーダー用符号板１０は、所定の間隔にスリットが形成された細長い部材であり、主走査方向に平行になるように印刷装置１００内に固定されている。エンコーダー９は、キャリッジ３のエンコーダー用符号板１０に対応する位置に固定されている。エンコーダー９は、キャリッジ３の移動に伴ってエンコーダー９を横切ったスリットの数に対応するパルスを出力することによってキャリッジ３の位置を示す情報を出力する。
【００２５】
エンコーダー用符号板１２ａ，１２ｂは、薄い板状の円形部材であり、放射状に所定の角度毎にスリットが形成され、ＰＦローラー５１ａ、ロール５１ｂの軸に対して固定されている。エンコーダー１１ａ，１１ｂは、エンコーダー用符号板１２ａ，１２ｂの外周部分においてエンコーダー用符号板１２ａ，１２ｂの回転を妨げない位置に固定されている。エンコーダー１１ａ，１１ｂは、ＰＦローラー５１ａの回転に伴ってエンコーダー１１ａ，１１ｂを横切ったスリットの数に対応するパルスを出力することによってＰＦローラー５１ａの位置（回転角度）を示す情報を出力する。
【００２６】
プロセッサー２０は、図示しないＣＰＵ，ＲＡＭ，ＲＯＭ等を備えており、ＲＯＭ等に記憶されたプログラムを実行することができる。むろん、プロセッサー２０は、各種の構成であって良く、ＡＳＩＣ等が利用されても良い。プロセッサー２０は、プログラムを実行することによって印刷装置１００の各部を制御する。
【００２７】
プロセッサー２０は、印刷装置１００における各種の制御対象を制御することができる。ここでは、印刷の制御と印刷長を基準の長さに近づけるための制御とを主に説明する。なお、基準の長さは、印刷される画像データに基づいて印刷される印刷成果物の基準の長さである。これらの制御のためのプログラムが実行されると、プロセッサー２０は、制御部２１として機能する。印刷の制御において、制御部２１は、印刷対象を示す画像データに基づいて画像処理を行うことにより、画素毎に印刷媒体５０に対して吐出すべきインクの色やインク滴の大きさ等を特定する。そして、制御部２１は、処理結果に基づいて、印刷媒体５０にインク滴を印刷するために必要なＰＦモーター１ａ、ＲＰモーター１ｂ、ＣＲモーター４の時系列の目標位置、ヘッド３ａの駆動タイミングを取得する。
【００２８】
制御部２１は、ＰＦモーター１ａ、ＲＰモーター１ｂ、ＣＲモーター４を目標位置に配置するために、モーター制御部６に対して制御目標を指示し、ＰＦローラー５１ａ、ロール５１ｂを駆動し、キャリッジ３を駆動する。
【００２９】
すなわち、制御部２１は、ＰＦローラー５１ａを回転させて印刷媒体５０を搬送する際に必要な時系列のＰＦモーター１ａの目標位置（目標回転角度）をモーター制御部６に対して出力する。モーター制御部６は当該目標位置にＰＦモーター１ａを移動させるための電流値を出力する。ＰＦモータードライバー２ａは当該電流値に基づいて、ＰＦモーター１ａが目標位置となるようにＰＦモーター１ａを駆動する。
【００３０】
本実施形態において、ＰＦローラー５１ａには、図示しない駆動機構が連結されており、制御部２１は、当該駆動機構に指示を行うことによりＰＦローラー５１ａと従動ローラー５１ｃとの距離を調整することができる。すなわち、制御部２１は、ＰＦローラー５１ａと従動ローラー５１ｃとで印刷媒体５０を挟む圧力を調整することができる。本実施形態において、圧力には予め複数段階の選択肢が設けられており、制御部２１がこれらの選択肢を示す設定値のいずれかを指示すると、駆動機構は指示された圧力で印刷媒体５０を挟む。むろん、当該圧力はフィードバック制御によって制御されてもよい。また、駆動機構は種々の機構によって実現されて良く、例えば、モーターやソレノイド等の種々の部品によってＰＦローラー５１ａ、従動ローラー５１ｃの少なくとも一方の軸の位置が移動される構成や、ギア機構によって少なくとも一方の軸に作用する力が調整される構成等を採用可能である。
【００３１】
また、制御部２１は、ロール５１ｂを回転させて印刷媒体５０を送り出す際に必要な時系列のＲＰモーター１ｂの目標位置（目標回転角度）をモーター制御部６に対して出力する。モーター制御部６は当該目標位置にＲＰモーター１ｂを移動させるための電流値を出力する。ＲＰモータードライバー２ｂは当該電流値に基づいて、ＲＰモーター１ｂが目標位置となるようにＲＰモーター１ｂを駆動する。
【００３２】
さらに、制御部２１は、キャリッジ３を主走査させる際に必要な時系列のキャリッジ３の目標位置をモーター制御部６に対して出力する。モーター制御部６は当該目標位置にキャリッジ３を移動させるための電流値を出力する。ＣＲモータードライバー５は当該電流値に基づいて、キャリッジ３が目標位置となるようにＣＲモーター４を駆動する。
【００３３】
さらに、制御部２１は、画像処理によって得られたヘッド３ａの駆動タイミングで印刷媒体５０にインク滴を記録させるための制御を行う。すなわち、制御部２１は、ヘッド３ａの駆動タイミングおよび各駆動タイミングでのインク滴の量（インクドットの大きさ）をヘッドドライバー７に対して出力する。ヘッドドライバー７は、当該駆動タイミングにおいて、当該量のインク滴を吐出するための電圧を生成し、各ヘッド３ａにして電圧を供給する。キャリッジ３のヘッド３ａは、当該電圧によって駆動され、インク滴を吐出して印刷媒体５０に対して印刷を行う。
【００３４】
さらに、本実施形態においては、印刷媒体５０の浮きによるインク滴の位置ずれ等を防止するため、印刷媒体５０をプラテンに対して吸着させる。このために、制御部２１は、吸着装置ドライバー６０に対して吸着力を指示する。吸着装置ドライバー６０は、当該吸着力で吸着装置６１，６２を駆動するための電力を生成し、吸着装置６１，６２を駆動する。この結果、制御部２１が指示した吸着力によって印刷媒体５０がプラテンに対して吸着する。本実施形態において、吸着力には予め複数段階の選択肢が設けられており、制御部２１がこれらの選択肢を示す設定値のいずれかを指示すると、駆動機構は指示された吸着力で印刷媒体５０を吸引する。むろん、当該圧力はフィードバック制御によって制御されてもよい。
【００３５】
本実施形態においては、以上のように印刷媒体５０がプラテンに対して吸着した状態で、印刷媒体５０の搬送と、キャリッジ３の搬送と、ヘッド３ａからのインク滴の吐出とを順次行うことにより印刷を行う。このような印刷において、印刷長が基準の長さからずれないようにするためには、印刷媒体５０が正確に搬送される必要がある。そこで、本実施形態におけるモーター制御部６は、フィードバック制御によってＰＦモーター１ａ、ＲＰモーター１ｂおよびＣＲモーター４を制御する。
【００３６】
図３は、モーター制御部６の構成を示したブロック図である。モーター制御部６においては、ＰＦモーター１ａ、ＲＰモーター１ｂおよびＣＲモーター４のそれぞれを制御するためにほぼ同様の回路を３組備えている（ただし、制御パラメーターは異なり得る）が、ここではそれぞれを区別することなく説明を行う。モーター制御部６は、位置演算部６ａと、減算器６ｂと、目標速度演算部６ｃと、速度演算部６ｄと、減算器６ｅと、比例要素６ｆと、積分要素６ｇと、微分要素６ｈと、加算器６ｉと、Ｄ／Ａコンバータ６ｊと、タイマ６ｋと、加速制御部６ｍとを備えている。
【００３７】
位置演算部６ａは、エンコーダー９，１１ａ，１１ｂの出力パルスを検出し、検出された出力パルスの個数を計数し、この計数値に基づいて、キャリッジ３，ＰＦモーター１ａの位置を演算する。減算器６ｂは、制御部２１から送られる目標位置と、位置演算部６ａによって求められたキャリッジ３，ＰＦモーター１ａの実際の位置との位置偏差を演算する。
【００３８】
目標速度演算部６ｃは、減算器６ｂの出力である位置偏差に基づいてキャリッジ３，ＰＦモーター１ａの目標速度を演算する。この演算は位置偏差にゲインＫｐを乗算することにより行われる。このゲインＫｐは位置偏差に応じて決定される。尚、このゲインＫｐの値は、図示しないテーブルに格納されていてもよい。
【００３９】
速度演算部６ｄは、エンコーダー９，１１ａ，１１ｂの出力パルスに基づいてキャリッジ３，ＰＦモーター１ａの速度を演算する。速度の演算は種々の手法で行われて良く、例えば、速度演算部６ｄが、出力パルスのエッジ間の時間間隔をタイマカウンタによってカウントし、エッジ間の距離をタイマカウンタのカウント値で除することによって演算する手法等を採用可能である。減算器６ｅは、目標速度と、速度演算部６ｄによって演算されたキャリッジ３，ＰＦモーター１ａの実際の速度との速度偏差を演算する。
【００４０】
比例要素６ｆは、上記速度偏差に定数Ｇｐを乗算し、乗算結果を出力する。積分要素６ｇは、速度偏差に定数Ｇｉを乗じたものを積算する。微分要素６ｈは、現在の速度偏差と、１つ前の速度偏差との差に定数Ｇｄを乗算し、乗算結果を出力する。比例要素６ｆ、積分要素６ｇ及び微分要素６ｈの演算は、エンコーダー９，１１ａ，１１ｂの出力パルスの１周期ごとに、例えば出力パルスの立ち上がりエッジに同期して行う。
【００４１】
比例要素６ｆ、積分要素６ｇ及び微分要素６ｈの出力は、加算器６ｉにおいて加算される。そして加算結果、即ちＰＦモーター１ａ，ＣＲモーター４の駆動電流が、Ｄ／Ａコンバータ６ｊに送られてアナログ電流に変換される。このアナログ電圧に基づいて、ＰＦモータードライバー２ａ，ＣＲモータードライバー５によりＰＦモーター１ａ，ＣＲモーター４が駆動される。
【００４２】
また、タイマ６ｋ及び加速制御部６ｍは、加速制御に用いられ、比例要素６ｆ、積分要素６ｇ及び微分要素６ｈを使用するＰＩＤ制御は、加速途中の定速及び減速制御に用いられる。
【００４３】
タイマ６ｋは、制御部２１から送られてくるクロック信号に基づいて所定時間ごとにタイマ割込み信号を発生する。加速制御部６ｍは、タイマ割込信号を受けるたびに所定の電流値（例えば２０ｍＡ）を目標電流値に積算し、積算結果、即ち加速時におけるＰＦモーター１ａ、ＣＲモーター４の目標電流値が、Ｄ／Ａコンバータ６ｊに送られる。ＰＩＤ制御の場合と同様に、上記目標電流値はＤ／Ａコンバータ６ｊによってアナログ電流に変換され、このアナログ電流に基づいて、ＰＦモータードライバー２ａ，ＣＲモータードライバー５によりＰＦモーター１ａ，ＣＲモーター４が駆動される。
【００４４】
本実施形態において、制御部２１は、以上の構成によってＰＦモーター１ａのトルクに基づいて、印刷媒体５０に作用している張力を制御することができる（図２参照）。具体的には、モーター制御部６は、動作中のＰＦモーター１ａのトルクを取得することができる。トルクは、種々の手法によって取得されて良く、本実施形態においてモーター制御部６は、ＰＦモータードライバー２ａによってＰＦモーター１ａに与えている電流値を取得し、当該電流値に基づいてトルクを演算する。むろん、トルクはセンサー等によって検出されても良い。
【００４５】
本実施形態においてＰＦモーター１ａに作用するトルクと印刷媒体５０に作用する張力は既定の関係であり、制御部２１は、モーター制御部６からＰＦモーター１ａに作用するトルクを取得し、印刷媒体５０に作用する張力を取得する。なお、ここで、印刷媒体５０に作用する張力は、ＰＦローラー５１ａとロール５１ｂとの間に存在する印刷媒体５０に作用する張力である。
【００４６】
当該張力が既定の値でない場合、制御部２１は、モーター制御部６に指示し、ＲＰモータードライバー２ｂを介してＲＰモーター１ｂのトルクを調整させる。すなわち、制御部２１は、張力が既定の値でない場合、張力を既定の値とするためのＲＰモーター１ｂの目標位置を算出し、モーター制御部６に出力する。目標位置が出力されると、モーター制御部６は当該目標位置になるようにＲＰモーター１ｂを制御する。この結果、ＲＰモーター１ｂのトルクが変化し、張力が既定の値になるようにフィードバック制御される。
【００４７】
本実施形態において、張力を示す既定の値には予め複数段階の選択肢が設けられており、制御部２１はこれらの選択肢のいずれかに対応した張力となるようにＲＰモーター１ｂの目標位置を算出し、モーター制御部６に指示する。すなわち、本実施形態においては、印刷媒体５０に作用する張力を複数段階のいずれかに設定することができる。
【００４８】
本実施形態において、以上のような張力の検出（トルクの検出）および制御は、予め決められた頻度で実施することができる。すなわち、制御部２１は、予め決められた選択肢のいずれかを選択し、選択肢が示すタイミングでＰＦモーター１ａのトルクを取得する。そして、当該トルクが示す張力が予め決められた既定の値ではない場合、制御部２１は、張力が既定の値になるようにフィードバック制御を行う。
【００４９】
（２）搬送機構の設定値の決定：
以上のような構成において、ＰＦローラー５１ａによって印刷媒体５０を挟む圧力、ＰＦローラー５１ａとロール５１ｂとの間に存在する印刷媒体５０に作用する張力、張力の制御のために実施される張力の検出の頻度、印刷媒体５０をプラテンに吸着させる吸着装置６１，６２の吸着力の少なくとも１個を変化させると印刷媒体５０の搬送動作を変化させることができる。本実施形態においては、これらの要素を設定するための値を搬送機構の設定値と呼ぶ。
【００５０】
本実施形態においては、印刷装置１００において複数の印刷媒体の種類（例えば、普通紙、写真用紙、布等）からいずれかの種類を選択して印刷を実行可能であり、印刷媒体の種類毎に予め搬送機構の設定値が決められ、印刷の際に印刷媒体に応じた設定値で動作する状態で印刷装置１００が出荷される。
【００５１】
しかし、搬送機構の設定値が固定の値である場合、印刷装置１００の環境変化やＰＦモーター１ａやＲＰモーター１ｂ、ＣＲモーター４、タイミングベルト１４等の経時変化に応じた適切な値にならない場合がある。この場合、ある印刷長（基準の印刷長）になるように画像を印刷しようとしても、印刷後に得られた印刷成果物の印刷長が基準の印刷長にならない場合がある。そこで、本実施形態においては、印刷長を基準に近づけるように搬送機構の設定値を変化させ得る構成が採用されている。
【００５２】
（２−１）学習済モデルの学習：
本実施形態においては、機械学習によって取得された学習済モデルをプロセッサー２０が参照することによって、搬送機構の設定値を決定する。本実施形態において、学習済モデルは強化学習によって取得される。すなわち、印刷装置１００が学習装置としても機能し、印刷媒体の種類毎に学習済モデルが学習され、印刷対象の印刷媒体の種類に対応した学習モデルが参照されながら印刷が行われる。以下、当該強化学習について説明する。
【００５３】
なお、本実施形態によれば、強化学習の結果、搬送機構の設定値の変更によって印刷長の精度が現在の設定値以上は向上しないと推定される、つまり搬送位置の精度が極大であると推定される状態を実現することができる。本実施形態においては、これらの状態を最適化された状態と呼び、最適化された状態を実現する搬送機構の設定値を最適化された搬送機構の設定値と呼ぶ。
【００５４】
本実施形態において印刷装置１００は、学習プログラムを実行することにより、学習部２２として機能する。学習部２２は、印刷装置１００の状態を示す状態変数を観測することができる。本実施形態において状態変数は、印刷成果物の長さである印刷長と、印刷装置１００の周囲の温度および湿度である。具体的には、学習部２２は、カメラ８を制御し、キャリッジ３が主走査方向の特定の位置（例えば、印刷範囲を撮影可能な位置であって主走査方向で最も端の位置等）で印刷開始位置から印刷終了位置まで印刷媒体５０を撮影する。
【００５５】
そして、学習部２２は、撮影された画像において印刷結果（余白ではない部分）が占める領域の画素数を副走査方向に計測し、当該画素数に基づいて印刷長を特定する。すなわち、本実施形態においては、印刷媒体５０がプラテンに吸着されている状態でカメラ８による撮影が行われるため、撮影された画像内の画素数と当該画像の実際の長さとの対応関係を予め規定しておくことが可能である。
【００５６】
学習部２２は、当該対応関係に基づいて、カメラ８の撮影画像から印刷長を取得する。むろん、印刷長は種々の手法で特定されて良い。例えば、キャリッジ３に取り付けられた他のセンサーやキャリッジ３以外の部位に取り付けられた他のセンサーで計測されても良いし、印刷後に印刷媒体５０上に印刷された部分の長さが実測されるなどして計測されても良い。本実施形態において、学習部２２は、任意のタイミングにおける状態変数、すなわち印刷長を観測することができ、観測された印刷長は図示しないメモリーに記録される。従って、搬送機構の設定値を変化させる前の状態で印刷が行われた場合の印刷長と、搬送機構の設定値を変化させた後の状態で印刷が行われた場合の印刷長とを観測することができる。さらに、学習部２２は、温度湿度センサー４０の出力に基づいて、印刷装置１００の周囲の温度および湿度を観測する。
【００５７】
本実施形態においては強化学習が採用されているため、学習部２２は、状態変数に基づいて搬送機構の設定値を変化させる行動を決定し、当該行動を実行する。当該行動後の状態に応じて報酬を評価すれば、当該行動の行動価値が判明する。そこで、学習部２２は、状態変数の観測と、当該状態変数に応じた行動の決定と、当該行動によって得られる報酬の評価とを繰り返すことによって、搬送機構の設定値を最適化する。
【００５８】
図４はエージェントと環境とからなる強化学習のモデルに沿って搬送機構の設定値の学習例を説明する図である。図４に示すエージェントは、予め決められた方策に応じて行動ａを選択する機能に相当する。環境は、エージェントが選択した行動ａと現在の状態ｓとに基づいて次の状態ｓ'を決定し、行動ａと状態ｓと状態ｓ'とに基づいて即時報酬ｒを決定する機能に相当する。
【００５９】
本実施形態においては、予め決められた方策によって学習部２２が行動ａを選択し、状態の更新を行う処理を繰り返すことにより、ある状態ｓにおけるある行動ａの行動価値関数Ｑ（ｓ，ａ）を算出するＱ学習が採用される。すなわち、本例においては、下記の式（１）によって行動価値関数を更新する。そして、行動価値関数Ｑ（ｓ，ａ）が適正に収束した場合には、当該行動価値関数Ｑ（ｓ，ａ）を最大化する行動ａが最適な行動であると見なされ、当該行動ａを示す搬送機構の設定値が最適化されたパラメーターであると見なされる。
【数１】
2020114653.tif 000003
【００６０】
ここで、行動価値関数Ｑ（ｓ，ａ）は、状態ｓにおいて行動ａを取った場合において将来にわたって得られる収益（本例では割引報酬総和）の期待値である。報酬はｒであり、状態ｓ、行動ａ、報酬ｒの添え字ｔは、時系列で繰り返す試行過程における１回分のステップを示す番号（試行番号と呼ぶ）であり、行動決定後に状態が変化すると試行番号がインクリメントされる。従って、式（１）内の報酬ｒt+1は状態ｓtで行動ａtが選択され、状態がｓt+1になった場合に得られる報酬である。αは学習率、γは割引率である。また、ａ'は、状態ｓt+1で取り得る行動ａt+1の中で行動価値関数Ｑ（ｓt+1，ａt+1）を最大化する行動であり、ｍａｘａ'Ｑ（ｓt+1，ａ'）は、行動ａ'が選択されたことによって最大化された行動価値関数である。なお、試行の間隔は、種々の手法で決められて良く、例えば、一定時間間隔毎に試行が行われる構成等を採用可能である。
【００６１】
搬送機構の設定値の学習においては、搬送機構の設定値を変化させることが行動の決定に相当しており、学習対象の搬送機構の設定値と取り得る行動とを示す情報が記憶部３０に予め記録される。図４においては、搬送機構の設定値の中の、印刷媒体５０をＰＦローラー５１ａで挟む圧力、印刷媒体５０に作用する張力、張力の検出頻度、吸着装置６１，６２の吸着力が学習対象となっている例を示している。
【００６２】
図４に示す例において行動は予め選択肢とされた設定値のいずれかを選択する行動である。図４においては、印刷媒体５０をＰＦローラー５１ａで挟む圧力が３段階のいずれか（ａ１〜ａ３）に設定可能である例が想定されている。また、図４に示す例では、印刷媒体５０に作用する張力が１０段階（ａ４〜ａ１３）のいずれかに設定可能であり、張力の検出頻度が２段階（ａ１４，ａ１５）のいずれか（例えば、一定期間毎や印刷ジョブ毎等）に設定可能である。さらに、図４に示す例では、吸着装置６１，６２の吸着力が１０段階（ａ１６〜ａ２５）のいずれかに設定可能である。むろん、これらの例は一例であり、選択肢はより多くても良いし少なくても良いし、行動は、現在の設定値からの増減であっても良い。本実施形態においては、各行動を特定するための情報（行動のＩＤ、各行動での設定値等）が記憶部３０に記録される。
【００６３】
図４に示す例において報酬は、印刷長の、基準からのずれに基づいて特定される。本実施形態において、基準からのずれは、カメラ８によって撮影された印刷長を示す画像に基づいて特定される。すなわち、学習部２２は、カメラ８によって印刷開始位置から印刷終了位置まで印刷媒体５０を撮影した画像に基づいて印刷長を特定する。印刷成果物の印刷長には、予定された値があり、当該予定された値が基準の印刷長である。
【００６４】
そこで、学習部２２は、印刷成果物の印刷長と基準の印刷長との差分ΔＺを基準からのずれとして取得する。むろん、基準からのずれは主走査方向の複数箇所で評価されても良いし、統計されても良い。いずれにしても、学習部２２は、基準からのずれΔＺが小さいほど、報酬が大きくなるように（例えば、１／ΔＺ等）報酬を設定する。
【００６５】
むろん、報酬は種々の手法で定義されて良く、例えば、ずれΔＺが閾値より小さい場合に＋１、閾値より大きい場合に−１となるような報酬でも良いし、他にも種々の定義が採用可能である。さらに、報酬は、印刷成果物の全体の印刷長（全長）によって特定される構成に限定されず、印刷の過程における印刷成果物の部分的な印刷長によって特定される構成であっても良い。
【００６６】
現在の状態ｓにおいて行動ａが採用された場合における次の状態ｓ'は、行動ａとしてのパラメーターの変化が行われた後に印刷装置１００を動作させ、学習部２２が状態変数を観測することによって特定可能である。すなわち、学習部２２が搬送機構の設定値を変化させた後の状態で印刷を行って印刷長を観測し、温度湿度センサー４０の出力に基づいて印刷装置１００の周囲の温度および湿度を観測することにより、これらを示す値を状態変数として取得する。
【００６７】
（２−２）搬送機構の設定値の学習例：
次に、搬送機構の設定値の学習例を説明する。学習の過程で参照される変数や関数を示す情報は、記憶部３０に記憶される。すなわち、学習部２２は、状態変数の観測と、当該状態変数に応じた行動の決定と、当該行動によって得られる報酬の評価とを繰り返すことによって行動価値関数Ｑ（ｓ，ａ）を収束させる構成が採用されている。そこで、本例において、学習の過程で状態変数と行動と報酬との時系列の値が、順次、記憶部３０に記録されていく。
【００６８】
行動価値関数Ｑ（ｓ，ａ）は、種々の手法で算出されて良く、多数回の試行に基づいて算出されても良いが、本実施形態においては、行動価値関数Ｑ（ｓ，ａ）を近似的に算出する一手法であるＤＱＮ（Ｄｅｅｐ  Ｑ−Ｎｅｔｗｏｒｋ）が採用されている。ＤＱＮにおいては、多層ニューラルネットワークを用いて行動価値関数Ｑ（ｓ，ａ）を推定する。本例においては、状態ｓを入力とし、選択し得る行動の数Ｎ個の行動価値関数Ｑ（ｓ，ａ）の値を出力とする多層ニューラルネットワークが採用されている。
【００６９】
図５は、本例において採用されている多層ニューラルネットワークを模式的に示す図である。図５において、多層ニューラルネットワークは、Ｍ個（Ｍは２以上の整数）の状態変数を入力とし、Ｎ個（Ｎは２以上の整数）の行動価値関数Ｑの値を出力としている。例えば、図４に示す例であれば、印刷長、印刷装置１００の周囲の温度および湿度の合計３個の状態変数が存在するためＭ＝３であり、Ｍ個の状態変数の値が多層ニューラルネットワークに入力される。図５においては、試行番号ｔにおけるＭ個の状態をｓ1t〜ｓMtとして示している。
【００７０】
本例では１回の試行で１回の印刷が行われる例が想定されているが、むろん、１回の印刷の過程で複数回の試行が行われてもよい。この場合、印刷長は１回分の試行において印刷された部分の長さであり、報酬も当該部分の印刷長の基準からのずれとなる。この場合、１回の印刷が終了した場合における全体の印刷長が状態変数として観測され、報酬とされても良く、当該報酬は印刷過程における報酬よりも重みが大きくても良い。
【００７１】
Ｎ個は選択し得る行動ａの数であり、多層ニューラルネットワークの出力は、入力された状態ｓにおいて特定の行動ａが選択された場合の行動価値関数Ｑの値である。図５においては、試行番号ｔにおいて選択し得る行動ａ1t〜ａNtのそれぞれにおける行動価値関数ＱをＱ（ｓt，ａ1t）〜Ｑ（ｓt，ａNt）として示している。当該Ｑに含まれるｓtは入力された状態ｓ1t〜ｓMtを代表して示す文字である。図４に示す例であれば、２５個の行動が選択可能であるためＮ＝２５である。むろん、行動ａの内容や数（Ｎの値）、状態ｓの内容や数（Ｍの値）は試行番号ｔに応じて変化しても良い。
【００７２】
図５に示す多層ニューラルネットワークは、各層の各ノードにおいて直前の層の入力（１層目においては状態ｓ）に対する重みｗの乗算とバイアスｂの加算とを実行し、必要に応じて活性化関数を経た出力を得る（次の層の入力になる）演算を実行するモデルである。本例においては、層ＤＬがＰ個（Ｐは１以上の整数）存在し、各層において複数のノードが存在する。
【００７３】
図５に示す多層ニューラルネットワークは各層における重みｗとバイアスｂ、活性化関数、層の順序等によって特定される。そこで、本実施形態においては、当該多層ニューラルネットワークを特定するためのパラメーター（入力から出力を得るために必要な情報）が記憶部３０に記録される。なお、学習の際には、多層ニューラルネットワークを特定するためのパラメーターの中で可変の値（例えば，重みｗとバイアスｂ）を更新していくことになる。ここでは、学習の過程で変化し得る多層ニューラルネットワークのパラメーターをθと表記する。当該θを使用すると、上述の行動価値関数Ｑ（ｓt，ａ1t）〜Ｑ（ｓt，ａNt）は、Ｑ（ｓt，ａ1t；θt）〜Ｑ（ｓt，ａNt；θt）とも表記できる。
【００７４】
次に、図６に示すフローチャートに沿って学習処理の手順を説明する。搬送機構の設定値の学習処理は、印刷装置１００における印刷媒体５０の種類毎に実行される。学習処理が開始されると、学習部２２は、学習情報を初期化する（ステップＳ１００）。すなわち、学習部２２は、学習を開始する際に参照されるθの初期値を特定する。初期値は、種々の手法によって決められて良く、例えば、過去に学習が行われていない場合においては、任意の値やランダム値等がθの初期値となって良い。
【００７５】
過去に学習が行われた場合は、当該学習済のθが初期値として採用される。また、過去に類似の条件（印刷媒体５０の種類等）についての学習が行われた場合は、当該学習におけるθが初期値とされても良い。過去の学習は、印刷装置１００を用いてユーザーが行ってもよいし、印刷装置１００の製造者が印刷装置１００の販売前に行ってもよい。この場合、製造者は、対象物や作業の種類に応じて複数の初期値のセットを用意しておき、ユーザーが学習する際に初期値を選択する構成であっても良い。θの初期値が決定されると、当該初期値が現在のθの値として学習情報として記憶部３０に記憶される。
【００７６】
次に、学習部２２は、搬送機構の設定値を初期化する（ステップＳ１０５）。具体的には、学習部２２は、最後に印刷装置１００が駆動された際に利用された設定値となるように、ＰＦローラー５１ａによって印刷媒体５０を挟む圧力、ＰＦローラー５１ａとロール５１ｂとの間に存在する印刷媒体５０に作用する張力、張力の制御のために実施される張力の検出の頻度、印刷媒体５０をプラテンに吸着させる吸着装置６１，６２の吸着力を設定する。なお、出荷後の初期駆動の際には出荷の際に設定された搬送機構の設定値が初期値として設定される。初期化された搬送機構の設定値は記憶部３０に現在の搬送機構の設定値として記憶される。
【００７７】
次に、学習部２２は、状態変数を観測する（ステップＳ１１０）。すなわち、学習部２２は、モーター制御部６に現在の搬送機構の設定値を指示し、当該現在の搬送機構の設定値によって印刷装置１００を制御する。学習部２２は、制御後の状態において状態変数である印刷長、印刷装置１００の周囲の温度および湿度を取得する。
【００７８】
次に、学習部２２は、行動価値を算出する（ステップＳ１１５）。すなわち、学習部２２は、記憶部３０に記憶された学習情報を参照してθを取得し、記憶部３０に記憶された学習情報が示す多層ニューラルネットワークに最新の状態変数を入力し、Ｎ個の行動価値関数Ｑ（ｓt，ａ1t；θt）〜Ｑ（ｓt，ａNt；θt）を算出する。
【００７９】
なお、最新の状態変数は、初回の実行時においてステップＳ１１０、２回目以降の実行時においてステップＳ１２５の観測結果である。また、試行番号ｔは初回の実行時において０、２回目以降の実行時において１以上の値となる。学習処理が過去に実施されていない場合、記憶部３０に記憶された学習情報が示すθは最適化されていないため、行動価値関数Ｑの値としては不正確な値となり得るが、ステップＳ１１５以後の処理の繰り返しにより、行動価値関数Ｑは徐々に最適化していく。また、ステップＳ１１５以後の処理の繰り返しにおいて、状態ｓ、行動ａ、報酬ｒは、各試行番号ｔに対応づけられて記憶部３０に記憶され、任意のタイミングで参照可能である。
【００８０】
次に、学習部２２は、行動を選択し、実行する（ステップＳ１２０）。本実施形態においては、行動価値関数Ｑ（ｓ，ａ）を最大化する行動ａが最適な行動であると見なされる処理が行われる。そこで、学習部２２は、ステップＳ１１５において算出されたＮ個の行動価値関数Ｑ（ｓt，ａ1t；θt）〜Ｑ（ｓt，ａNt；θt）の値の中で最大の値を特定する。そして、学習部２２は、最大の値を与えた行動を選択する。例えば、Ｎ個の行動価値関数Ｑ（ｓt，ａ1t；θt）〜Ｑ（ｓt，ａNt；θt）の中でＱ（ｓt，ａNt；θt）が最大値であれば、学習部２２は、行動ａNtを選択する。
【００８１】
行動が選択されると、学習部２２は、当該行動に対応する搬送機構の設定値を変化させる。例えば、図４に示す例において、印刷媒体５０を挟む圧力ａ１が選択された場合、学習部２２は、印刷媒体５０をＰＦローラー５１ａで挟む圧力をａ１に変化させる。搬送機構の設定値の変化が行われると、学習部２２は、当該搬送機構の設定値を参照して印刷装置１００を制御して印刷を実行させる。
【００８２】
次に、学習部２２は、状態変数を観測する（ステップＳ１２５）。すなわち、学習部２２は、ステップＳ１１０における状態変数の観測と同様の処理を行って、状態変数として、印刷長および印刷装置１００の周囲の温度および湿度を取得する。なお、現在の試行番号がｔである場合（選択された行動がａtである場合）、ステップＳ１２５で取得される状態ｓはｓt+1である。
【００８３】
次に、学習部２２は、報酬を評価する（ステップＳ１３０）。すなわち、学習部２２は、カメラ８によって印刷開始位置から印刷終了位置まで印刷媒体５０を撮影しており、撮影された画像に基づいて印刷成果物の印刷長を特定する。さらに、学習部２２は、当該印刷成果物の印刷長として予定された値を基準の印刷長として取得する。さらに、学習部２２は、印刷成果物の印刷長と基準の印刷長との差分ΔＺを基準からのずれとして取得する。そして、学習部２２は、学習部２２は、基準からのずれΔＺに基づいて（例えば、１／ΔＺなどとして）報酬を取得する。なお、現在の試行番号がｔである場合、ステップＳ１３０で取得される報酬ｒはｒt+1である。
【００８４】
本実施形態においては式（１）に示す行動価値関数Ｑの更新を目指しているが、行動価値関数Ｑを適切に更新していくためには、行動価値関数Ｑを示す多層ニューラルネットワークを最適化（θを最適化）していかなくてはならない。図５に示す多層ニューラルネットワークによって行動価値関数Ｑを適正に出力させるためには、当該出力のターゲットとなる教師データが必要になる。すなわち、多層ニューラルネットワークの出力と、ターゲットとの誤差を最小化するようにθを改善することによって、多層ニューラルネットワークが最適化されることが期待される。
【００８５】
しかし、本実施形態において、学習が完了していない段階では行動価値関数Ｑの知見がなく、ターゲットを特定することは困難である。そこで、本実施形態においては、式（１）の第２項、いわゆるＴＤ誤差（Ｔｅｍｐｏｒａｌ  Ｄｉｆｆｅｒｅｎｃｅ）を最小化する目的関数によって多層ニューラルネットワークを示すθの改善を実施する。すなわち、（ｒt+1＋γｍａｘａ'Ｑ（ｓt+1，ａ'；θt））をターゲットとし、ターゲットとＱ（ｓt，ａt；θt）との誤差が最小化するようにθを学習する。ただし、ターゲット（ｒt+1＋γｍａｘａ'Ｑ（ｓt+1，ａ'；θt））は、学習対象のθを含んでいるため、本実施形態においては、ある程度の試行回数にわたりターゲットを固定する（例えば、最後に学習したθ（初回学習時はθの初期値）で固定する）。本実施形態においては、ターゲットを固定する試行回数である既定回数が予め決められている。
【００８６】
このような前提で学習を行うため、ステップＳ１３０で報酬が評価されると、学習部２２は目的関数を算出する（ステップＳ１３５）。すなわち、学習部２２は、試行のそれぞれにおけるＴＤ誤差を評価するための目的関数（例えば、ＴＤ誤差の２乗の期待値に比例する関数やＴＤ誤差の２乗の総和等）を算出する。なお、ＴＤ誤差は、ターゲットが固定された状態で算出されるため、固定されたターゲットを（ｒt+1＋γｍａｘａ'Ｑ（ｓt+1，ａ'；θ-））と表記すると、ＴＤ誤差は（ｒt+1＋γｍａｘａ'Ｑ（ｓt+1，ａ'；θ-）−Ｑ（ｓt，ａt；θt））である。当該ＴＤ誤差の式において報酬ｒt+1は、行動ａtによってステップＳ１３０で得られた報酬である。
【００８７】
また、ｍａｘａ'Ｑ（ｓt+1，ａ'；θ-）は、行動ａtによってステップＳ１２５で算出される状態ｓt+1を、固定されたθ-で特定される多層ニューラルネットワークの入力とした場合に得られる出力の中の最大値である。Ｑ（ｓt，ａt；θt）は、行動ａtが選択される前の状態ｓtを、試行番号ｔの段階のθtで特定される多層ニューラルネットワークの入力とした場合に得られる出力の中で、行動ａtに対応した出力の値である。
【００８８】
目的関数が算出されると、学習部２２は、学習が終了したか否か判定する（ステップＳ１４０）。本実施形態においては、ＴＤ誤差が充分に小さいか否かを判定するための閾値が予め決められており、目的関数が閾値以下である場合、学習部２２は、学習が終了したと判定する。
【００８９】
ステップＳ１４０において学習が終了したと判定されない場合、学習部２２は、行動価値を更新する（ステップＳ１４５）。すなわち、学習部２２は、ＴＤ誤差のθによる偏微分に基づいて目的関数を小さくするためのθの変化を特定し、θを変化させる。むろん、ここでは、各種の手法でθを変化させることが可能であり、例えば、ＲＭＳＰｒｏｐ等の勾配降下法を採用可能である。また、学習率等による調整も適宜実施されて良い。以上の処理によれば、行動価値関数Ｑがターゲットに近づくようにθを変化させることができる。
【００９０】
ただし、本実施形態においては、上述のようにターゲットが固定されているため、学習部２２は、さらに、ターゲットを更新するか否かの判定を行う。具体的には学習部２２は、既定回数の試行が行われたか否かを判定し（ステップＳ１５０）、ステップＳ１５０において、既定回数の試行が行われたと判定された場合に、学習部２２は、ターゲットを更新する（ステップＳ１５５）。すなわち、学習部２２は、ターゲットを算出する際に参照されるθを最新のθに更新する。この後、学習部２２は、ステップＳ１１５以降の処理を繰り返す。一方、ステップＳ１５０において、既定回数の試行が行われたと判定されなければ、学習部２２は、ステップＳ１５５をスキップしてステップＳ１１５以降の処理を繰り返す。
【００９１】
ステップＳ１４０において学習が終了したと判定された場合、学習部２２は、記憶部３０に記憶された学習情報を更新する（ステップＳ１６０）。すなわち、学習部２２は、学習によって得られたθを、印刷装置１００による印刷の際に参照されるべき学習済モデル３１として記憶部３０に記憶させる。当該θを含む学習済モデル３１が記憶部３０に記憶されると、制御部２１は、印刷前に現在の印刷装置１００に最適化された搬送機構の設定値を取得することが可能になる。
【００９２】
（３）印刷処理：
学習済モデル３１が記憶部３０に記憶された状態において、制御部２１は、最適化された搬送機構の設定値を利用して印刷装置１００を制御することができる。図７は、印刷装置１００において印刷を行う際の印刷処理を示すフローチャートである。印刷処理は、利用者が図示しないコンピューターや外部記憶媒体等に記憶された画像データを印刷対象として指定し、印刷媒体５０の種類を指定した状態で実行される。
【００９３】
印刷処理が開始されると、制御部２１は、画像データを取得する（ステップＳ２００）。すなわち、制御部２１は、利用者が指定した画像データを図示しないコンピューターや外部記憶媒体等から取得する。次に、制御部２１は、画像処理を実施する（ステップＳ２０５）。すなわち、制御部２１は、画像データが示す画像を画素毎のインク滴の記録の有無で表現した印刷データに変換するための画像処理を実行する。当該画像処理は、公知の手法が採用されてよく、例えば、色変換処理やガンマ変換処理等によって実現される。
【００９４】
次に、制御部２１は、状態変数を取得する（ステップＳ２１０）。すなわち、制御部２１は、印刷装置１００において最後に印刷が行われた場合の印刷長を取得し、温度湿度センサー４０の出力に基づいて印刷装置１００の周囲の温度および湿度を取得する。
【００９５】
次に、制御部２１は、搬送機構の設定値を特定する（ステップＳ２１５）。すなわち、制御部２１は、学習済モデル３１を参照し、ステップＳ２１０で取得された状態変数を入力として出力Ｑ（ｓ，ａ）を計算する。また、制御部２１は、出力Ｑ（ｓ，ａ）の中で最大値を与える行動ａを選択する。そして、行動ａが選択された場合、制御部２１は、行動ａが行われた状態に相当する値となるように搬送機構の設定値を特定する。
【００９６】
次に、制御部２１は、印刷制御を実行する（ステップＳ２２０）。すなわち、制御部２１は、ステップＳ２１５で特定された設定値となるように、印刷媒体を挟む圧力、印刷媒体に作用する張力、張力の検出頻度、吸着装置の吸着力を設定する。そして、制御部２１は、ステップＳ２０５で得られたデータに基づいて、画像を印刷するために必要なＰＦモーター１ａ、ＲＰモーター１ｂ、ＣＲモーター４の時系列の目標位置、ヘッド３ａの駆動タイミングを取得する。そして、制御部２１は、ＰＦモーター１ａ、ＲＰモーター１ｂ、ＣＲモーター４を目標位置に配置するために、モーター制御部６に対して制御目標を指示し、ＰＦローラー５１ａおよびロール５１ｂを駆動し、キャリッジ３を駆動する。この結果、印刷媒体５０に対する印刷が行われる。
【００９７】
以上の構成によれば、行動価値関数Ｑが最大化される行動ａを選択した状態で印刷を実行することができる。当該行動価値関数Ｑは、上述の処理により、多数の試行が繰り返された結果、最適化されている。従って、本実施形態によれば、人為的に決められた搬送機構の設定値よりも高い確率で搬送機構の設定値を最適化することができる。
【００９８】
そして、最適化された搬送機構の設定値によって印刷が行われることにより、印刷長が基準に近くなるように制御することができる。また、長期間にわたって印刷長が基準に近い状態を維持することができる。
【００９９】
（４）他の実施形態：
以上の実施形態は本発明を実施するための一例であり、他にも種々の実施形態を採用可能である。例えば、印刷装置および学習装置は、ファクシミリ通信機能等を備える複合機であっても良い。また、印刷装置および学習装置は、複数の装置によって構成されていても良い。例えば、学習済モデル３１が記憶される装置と、制御部２１によって印刷が行われる装置とが異なる装置によって構成されても良い。
【０１００】
むろん、印刷装置と学習装置とが異なる装置によって構成されても良い。印刷装置と学習装置とが異なる装置によって構成される場合、学習装置は、複数の印刷装置から状態変数を収集し、各印刷装置に行動を行わせることによって、複数の印刷装置に適用可能な学習済モデル３１を機械学習しても良い。学習装置の一例としてサーバが挙げられる。さらに、上述の実施形態の一部の構成が省略されてもよいし、処理の順序が変動または省略されてもよい。
【０１０１】
印刷装置は、印刷媒体の搬送機構を備えている。すなわち、印刷装置は、印刷媒体を搬送し、搬送される印刷媒体に記録材を記録することによって印刷を行う。搬送機構は、種々の機構であって良く、例えば、ローラーによって印刷媒体を挟んで印刷媒体を搬送する機構や、ローラーによって印刷媒体を巻き取る機構、これらの組み合わせ等を採用可能である。印刷媒体は、種々の媒体であって良く、紙以外の布や電子機器の部品、電気回路基板等の、種々の媒体が印刷媒体となってよい。
【０１０２】
状態変数は、印刷長を含んでいれば良く、他の要素が状態変数に含まれても良い。印刷長は、印刷媒体が搬送機構によって搬送される搬送方向に沿った印刷成果物の長さであり、印刷媒体に画像が連続的に印刷される場合、搬送方向に沿った印刷開始位置から印刷終了位置までの長さである。また、状態変数となり得る要素には、搬送機構の設定値となり得る要素も含まれる。例えば、印刷媒体を挟む圧力や印刷媒体に作用する張力等が搬送機構の設定値（制御目標）となってもよい。
【０１０３】
状態変数は、搬送機構の設定値を変化させた結果に応じて得られる状態を示していれば良く、数値であっても良いし、フラグであっても良いし、各種の状態を意味する符号であっても良い。学習済モデルは、状態変数を入力することによって搬送機構の設定値を出力するような数式モデルであれば良く、強化学習によって学習される学習済モデル以外にも、種々のモデルを採用可能である。
【０１０４】
すなわち、機械学習は、サンプルデータを用いてよりよいパラメーターを学習する処理であれば良く、上述の強化学習以外にも、教師あり学習やクラスタリングなど種々の手法によって各パラメーターを学習する構成を採用可能である。学習モデルも上述の実施形態に限定されず、例えば、ＮＮ（Neural Network），ＣＮＮ（Convolutional Neural Network），ＲＮＮ（Recurrent Neural Network）等の各種ニューラルネットワークが学習済モデルとして学習される構成であっても良いし、これらのモデルが組み合わされたモデルが学習済モデルとして学習される構成であっても良い。
【０１０５】
搬送機構の設定値は、搬送機構の動作を変動させ得る設定を示す値であれば良く、数値であっても良いし、フラグであっても良いし、各種の状態を意味する符号であっても良い。設定値は、上述の実施形態以外にも種々の値を採用可能であり、例えば、印刷媒体を搬送する速度などの設定値が学習済モデルによって決定されても良い。
【０１０６】
制御部は、学習済モデルに基づいて取得された搬送機構の設定値によって搬送機構を制御して印刷を行うことができればよい。すなわち、制御部は、搬送機構の設定値を変化させ、変化させた後の搬送機構の設定値によって搬送機構を動作させることによって印刷媒体を搬送して印刷装置に印刷を実行させればよい。むろん、印刷のための制御としては、種々の制御が行われてよく、例えば、各種の画像処理が行われても良いし、双方向印刷の有無や、インクドットの制御、印刷速度に応じたトナー量の調整など、印刷装置の構成等に応じて種々の制御が行われてよい。
【０１０７】
搬送機構における設定値は、当該設定値で搬送機構を動作させる値であれば良く、設定値が設定された場合における制御態様は、種々の態様であって良い。例えば、印刷媒体を挟む圧力が、圧力センサー等の検出結果に基づいてフィードバック制御されても良いし、印刷媒体の張力がフィードバック制御される構成が省略され、張力を変化させ得る設定値（例えばトルク）としての選択肢が予め用意され、そのいずれかに設定されるが、フィードバック制御が行われない構成等であっても良い。強化学習における行動は、搬送機構の設定値を変化させる行動であればよい。すなわち、モーターの制御内容を変化させ得るように搬送機構の設定値を変化させる処理を行動と見なす。
【０１０８】
さらに、上述の学習処理においては、試行のたびにθの更新によって行動価値を更新し、既定回数の試行が行われるまでターゲットを固定したが、複数回の試行が行われてからθの更新が行われてもよい。例えば、第１既定回数の試行が行われるまでターゲットが固定され、第２既定回数（＜第１既定回数）の試行が行われるまでθを固定する構成が挙げられる。この場合、第２既定回数の試行後に第２既定回数分のサンプルに基づいてθを更新し、さらに試行回数が第１既定回数を超えた場合に最新のθでターゲットを更新する構成となる。
【０１０９】
さらに、学習処理においては、公知の種々の手法が採用されてよく、例えば、体験再生や報酬のＣｌｉｐｐｉｎｇ等が行われてもよい。さらに、図５においては、層ＤＬがＰ個（Ｐは１以上の整数）存在し、各層において複数のノードが存在するが、各層の構造は、種々の構造を採用可能である。例えば、層の数やノードの数は種々の数を採用可能であるし、活性化関数としても種々の関数を採用可能であるし、ネットワーク構造が畳み込みニューラルネットワーク構造等になっていても良い。また、入力や出力の態様も図５に示す例に限定されず、例えば、状態ｓと行動ａとが入力される構成や、行動価値関数Ｑを最大化する行動ａがｏｎｅ−ｈｏｔベクトルとして出力される構成が少なくとも利用される例が採用されても良い。
【０１１０】
上述の実施形態においては、行動価値関数に基づいてｇｒｅｅｄｙ方策で行動を行って試行しながら、行動価値関数を最適化することにより、最適化された行動価値関数に対するｇｒｅｅｄｙ方策が最適方策であると見なしている。この処理は、いわゆる価値反復法であるが、他の手法、例えば、方策反復法によって学習が行われてもよい。さらに、状態ｓ、行動ａ、報酬ｒ等の各種変数においては、各種の正規化が行われてよい。
【０１１１】
機械学習の手法としては、種々の手法を採用であり、行動価値関数Ｑに基づいたε−ｇｒｅｅｄｙ方策によって試行が行われてもよい。また、強化学習の手法としても上述のようなＱ学習に限定されず、ＳＡＲＳＡ等の手法が用いられても良い。また、方策のモデルと行動価値関数のモデルを別々にモデル化した手法、例えば、Ａｃｔｏｒ−Ｃｒｉｔｉｃアルゴリズムが利用されても良い。Ａｃｔｏｒ−Ｃｒｉｔｉｃアルゴリズムを利用するのであれば、方策を示すａｃｔｏｒであるμ（ｓ；θ）と、行動価値関数を示すｃｒｉｔｉｃであるＱ（ｓ，ａ；θ）とを定義し、μ（ｓ；θ）にノイズを加えた方策に従って行動を生成して試行し、試行結果に基づいてａｃｔｏｒとｃｒｉｔｉｃを更新することで方策と行動価値関数とを学習する構成であっても良い。
【符号の説明】
【０１１２】
１ａ…ＰＦモーター、１ｂ…ＲＰモーター、２ａ…ＰＦモータードライバー、２ｂ…ＲＰモータードライバー、３…キャリッジ、３ａ…ヘッド、４…ＣＲモーター、５…ＣＲモータードライバー、６…モーター制御部、６ａ…位置演算部、６ｂ…減算器、６ｃ…目標速度演算部、６ｄ…速度演算部、６ｅ…減算器、６ｆ…比例要素、６ｇ…積分要素、６ｈ…微分要素、６ｉ…加算器、６ｊ…Ｄ／Ａコンバータ、６ｋ…タイマ、６ｍ…加速制御部、７…ヘッドドライバー、８…カメラ、９…エンコーダー、１０…エンコーダー用符号板、１１ａ…エンコーダー、１１ｂ…エンコーダー、１２ａ…エンコーダー用符号板、１２ｂ…エンコーダー用符号板、１３…プーリ、１４…タイミングベルト、２０…プロセッサー、２１…制御部、２２…学習部、３０…記憶部、３１…学習済モデル、４０…温度湿度センサー、５０…印刷媒体、５１ａ…ＰＦローラー、５１ｂ…ロール、５１ｃ…従動ローラー、６０…吸着装置ドライバー、６１…吸着装置、６１ａ…ファン、６２…吸着装置、６２ａ…ファン、１００…印刷装置
【図１】
2020114653.tif 000004
【図２】
2020114653.tif 000005
【図３】
2020114653.tif 000006
【図４】
2020114653.tif 000007
【図５】
2020114653.tif 000008
【図６】
2020114653.tif 000009
【図７】
2020114653.tif 000010