以下に、実施の形態にかかる搬送システムを図面に基づいて詳細に説明する。
実施の形態1.
図1は、実施の形態1にかかる搬送システム1の構成例を示す図である。搬送システム1は、物の搬送に使用されるシステムである。実施の形態1では、搬送システム1は、物が載せられた搬送体を移動させることによって、物を搬送する。
搬送システム1は、複数の搬送路ユニット11A-11Hと、コントローラ12と、直流(Direct Current:DC)電源13と、台車17A,17B,17Cとを備える。コントローラ12は、複数の搬送路ユニット11A-11Hを制御する。コントローラ12は、モーションコントローラ19とトラックコントローラ20とを備える。以下の説明では、搬送路ユニット11とは、搬送路ユニット11A-11Hの各々を区別せずに称したものとする。
複数の搬送路ユニット11は、互いに連結されており、搬送体が移動する搬送路10を構成する。複数の搬送路ユニット11は、搬送体へ動力を与えることによって搬送体を移動させる。搬送体は、台車17A,17B,17Cの各々である。以下の説明では、台車17とは、台車17A,17B,17Cの各々を区別せずに称したものとする。
図1に示す搬送路10は、環状である。すなわち、図1に示す搬送路10は、閉じた経路である。搬送システム1の搬送路10は、開いた経路でも良い。すなわち、搬送システム1の搬送路10は、始点および終点を有する経路でも良い。
搬送路ユニット11A,11B,11E,11Fは、直線経路を構成する直線型の搬送路ユニット11である。搬送路ユニット11C,11D,11G,11Hは、曲線経路を構成する曲線型の搬送路ユニット11であって、搬送体の進行方向を変化させる。搬送路10は、直線経路を構成する搬送路ユニット11を持たず、曲線経路を構成する搬送路ユニット11のみからなるものでも良い。搬送路10の全体の形状は、任意であるものとする。
台車17は、搬送路10の側面に取り付けられる。台車17は、搬送路10の側面に設けられているガイドレールに沿って移動する。台車17は、搬送路10の側面において移動し、搬送路10の側面において停止する。実施の形態1にかかる搬送システム1は、ムービングマグネット型リニアモータである。台車17は、搬送路10の上面に設けられているガイドレールに沿って移動するものでも良い。台車17は、可動子を構成する永久磁石と、リニアスケール用の永久磁石と、回転によりガイドレール上を移動するガイドローラとを備える。図1では、ガイドレールと、ガイドローラと、可動子を構成する永久磁石と、リニアスケール用の永久磁石との図示を省略する。
各台車17の進行方向は、図1における時計回りの方向、または、図1における反時計回りの方向である。進行方向のうち、図1における時計回りの方向を、順方向とする。進行方向のうち、図1における反時計回りの方向を、逆方向とする。矢印18Aは、順方向を表す。矢印18Bは、逆方向を表す。
図1に示す例では、搬送システム1は、8個の搬送路ユニット11と3個の台車17とを備える。搬送システム1に備えられる搬送路ユニット11の数は任意であるものとする。すなわち、搬送路10を構成する搬送路ユニット11の数は任意であるものとする。搬送システム1は、複数の搬送路ユニット11を備えていれば良い。搬送路10を移動する台車17の数は任意であるものとする。搬送システム1は、1または複数の台車17を備えていれば良い。
搬送システム1は、リニアモータを備えるシステムに限られず、回転型モータを備えるシステムでも良い。搬送システム1は、回転型モータと、回転型モータによって回転するベルトとを備えるベルトコンベアでも良い。ベルトコンベアは、ベルトに載せられたワークを移動させる。搬送システム1は、複数のローラと、ローラを回転させる回転型モータとを備えるローラコンベアでも良い。ローラコンベアは、ローラに載せられたワークを移動させる。
DC電源13は、DC電源バス16を介して各搬送路ユニット11に接続されている。DC電源13は、直流電圧を出力する電源装置または電源回路である。DC電源13は、各搬送路ユニット11へ電力を供給する。各搬送路ユニット11は、DC電源13を共用する。
DC電源バス16には、正極側の直流母線と、負極側の直流母線とが通されている。正極側の直流母線は、P母線と称される。負極側の直流母線は、N母線と称される。P母線は、DC電源13の正極に接続される。N母線は、DC電源13の負極に接続される。以下、P母線とN母線との両方を指す場合、PN母線と称する。搬送路10を構成する複数の搬送路ユニット11の各々は、共通のPN母線に接続される。
搬送システム1は、マルチドロップ接続により各搬送路ユニット11がDC電源13に接続される構成を備える。各搬送路ユニット11とDC電源13との接続形態は、マルチドロップ接続に限られず、デイジーチェーン接続であっても良い。図1に示す例では搬送システム1に備えられるDC電源13は1個であるが、搬送システム1に備えられるDC電源13の数は複数でも良い。すなわち、搬送システム1には複数の電源ドメインが構成されても良い。
トラックコントローラ20は、データ通信線15を介して各搬送路ユニット11に接続されている。データ通信線15は、トラックコントローラ20と、複数の搬送路ユニット11の1つである搬送路ユニット11Aとを接続する線と、互いに隣り合う搬送路ユニット11同士を接続する線とにより構成される。搬送システム1は、デイジーチェーン接続により各搬送路ユニット11がトラックコントローラ20に接続される構成を備える。各搬送路ユニット11とトラックコントローラ20との接続形態は、デイジーチェーン接続に限られない。各搬送路ユニット11とトラックコントローラ20との接続形態は、各搬送路ユニット11が通信ハブを介してトラックコントローラ20に接続されるスター接続でも良い。または、搬送システム1は、複数のデータ通信線15を備え、各搬送路ユニット11とトラックコントローラ20とがデータ通信線15により直接接続されても良い。
モーションコントローラ19は、データ通信線14を介してトラックコントローラ20に接続されている。モーションコントローラ19は、台車17を移動させる位置を示す位置指令を周期的に生成する。モーションコントローラ19は、生成された位置指令をトラックコントローラ20へ送信する。トラックコントローラ20の詳細については後述する。
図1に示す搬送システム1は、1つのモーションコントローラ19と1つのトラックコントローラ20とを備える。搬送システム1は、2以上のトラックコントローラ20を備え、各トラックコントローラ20がモーションコントローラ19に接続されても良い。各トラックコントローラ20には、1または2以上の搬送路ユニット11が接続される。モーションコントローラ19とトラックコントローラ20との間における通信プロトコルと、トラックコントローラ20と搬送路ユニット11との間における通信プロトコルとは、互いに同じでも良く、互いに異なっても良い。
モーションコントローラ19には、プログラマブルロジックコントローラといった、コントローラ12よりも上位の制御装置が接続されても良い。かかる制御装置は、シーケンス制御のための指令をモーションコントローラ19へ出力する。モーションコントローラ19には、ヒューマンマシンインタフェースが接続されても良い。かかるヒューマンマシンインタフェースは、オペレータによる入力を受け付ける。また、かかるヒューマンマシンインタフェースは、搬送システム1の状況を示す情報を表示等により出力する。モーションコントローラ19は、上位の制御装置またはヒューマンマシンインタフェースから台車17の運行情報を取得し、運行情報に基づいて位置指令を生成しても良い。運行情報は、搬送路10における複数の台車17の各々の移動についてのスケジュールを示す情報である。
次に、搬送路ユニット11の構成について説明する。ここでは、直線型の搬送路ユニット11を例として、搬送路ユニット11の構成を説明する。曲線型の搬送路ユニット11では、直線型の搬送路ユニット11の場合とはコイルの配置態様が異なる。曲線型の搬送路ユニット11の構成は、コイルの配置態様が異なる点を除いて、直線型の搬送路ユニット11の構成と同様である。
図2は、実施の形態1にかかる搬送システム1に備えられる搬送路ユニット11の構成例を示す図である。図2には、搬送路ユニット11と、台車17に備えられる永久磁石30,31とを示す。永久磁石30は、可動子を構成する永久磁石である。永久磁石31は、リニアスケール用の永久磁石である。
搬送路ユニット11は、複数のコイル21a-21iを備える。以下の説明では、コイル21とは、コイル21a-21iの各々を区別せずに称したものとする。各コイル21は、電流が流れることにより推力を発生する駆動部として機能する。各コイル21は、電流と永久磁石30が発生する磁界との相互作用によって、推力である電磁力を発生する。
図2に示す例では、搬送路ユニット11には9個のコイル21が備えられる。搬送路ユニット11に備えられるコイル21の数は任意であるものとする。直線型の搬送路ユニット11では、複数のコイル21は、直線の方向に配列される。なお、曲線型の搬送路ユニット11では、複数のコイル21は、曲線の方向に配列される。
搬送路ユニット11の各コイル21には、インバータ回路22が接続される。インバータ回路22は、スイッチング素子を備え、スイッチング素子のスイッチングによる電力変換を経た電力をコイル21へ供給する。スイッチング素子の図示は省略する。インバータ回路22は、コイル21に流す電流を制御する。インバータ回路22は、単相フルブリッジインバータ回路、または単相ハーフブリッジインバータ回路である。インバータ回路22は、3個のコイル21に接続される3相インバータ回路でも良い。搬送路ユニット11の各コイル21は、純粋なインダクタンス成分のみならず、コイル抵抗も含む。
搬送路ユニット11の各インバータ回路22は、P母線とN母線との間に接続される。各インバータ回路22は、PN母線からの直流電力を交流電力へ変換し、コイル21へ交流電力を供給する。インバータ回路22は、スイッチング素子のスイッチングにより、直流電力から交流電力への電力変換を行う。
コイル21は、インバータ回路22での変換を経た電力が供給されることによって、台車17を移動させる推力である電磁力を発生する。搬送路ユニット11の各コイル21には、電流センサ23が接続される。電流センサ23は、コイル21に流れる電流の電流値であるコイル実電流値を検出する。また、搬送路ユニット11において、P母線とN母線との間には、電解コンデンサであるコンデンサ24が接続される。
搬送路ユニット11の各インバータ回路22には、インバータ回路22を制御する電流制御器25が接続される。電流制御器25は、コイル21に流す電流の電流指令値と、電流センサ23によって検出されたコイル実電流値とに基づいて、コイル21に印加する電圧の電圧値を算出する。電流制御器25は、算出された電圧値と三角波との比較によって得られるパルス幅変調(Pulse Width Modulation:PWM)信号をインバータ回路22へ送信する。電流制御器25は、インバータ回路22へPWM信号を送信することによって、インバータ回路22にスイッチングを行わせる。これにより、電流制御器25は、所望の電流値の電流をコイル21に流すための電圧をコイル21に印加する。電流制御器25は、電流指令値とコイル実電流値との偏差に基づいて、コイル21に印加する電圧のPID(Proportional Integral Differential)制御を行うことで、コイル21に印加する電圧の電圧値を算出しても良い。
台車17の進行方向における複数のコイル21の配置間隔を、Lcoilとする。Lcoilは、搬送路ユニット11において互いに隣り合うコイル21の中心位置同士の距離ともいえる。Lcarrierは、台車17の進行方向における台車17の長さである。Lcoilは、Lcarrierよりも短い。これにより、各台車17は、2以上のコイル21で発生する磁束の相互作用により推力を得ることができる。
台車17の進行方向における永久磁石30の長さを、Lmagnetとする。Lmagnetは、台車17の進行方向において永久磁石30の一端から永久磁石30の他端までの長さである。図2に示すようにN極とS極とが交互に配置されている場合、Lmagnetは、全ての磁極を合わせた永久磁石30全体の、台車17の進行方向における長さである。磁極と磁極との間に空間がある場合は、Lmagnetには、この空間の長さも含まれる。
Lmagnetは、Lcarrierよりも短い。LmagnetがLcarrierよりも短いことにより、2つの台車17が互いに接近した場合に、一方の台車17の永久磁石30と他方の台車17の永久磁石30との間に空間が確保される。一方の台車17の永久磁石30と他方の台車17の永久磁石30との間に空間が確保されることによって、一方の台車17の永久磁石30と他方の台車17の永久磁石30とが1つのコイル21の上に存在する状態となることが避けられる。1つのコイル21の上に存在する永久磁石30が1つの台車17の永久磁石30であることによって、1つのコイル21で磁束を発生させるための電流指令の演算を、1つの台車17を対象とする演算とすることができる。これに対し、1つのコイル21で磁束を発生させるための電流指令の演算を、2つの台車17を対象とする演算とする必要がある場合には、電流指令の演算が複雑なものとなる。
本実施の形態1によると、搬送システム1は、LmagnetがLcarrierよりも短いことにより、1つのコイル21で磁束を発生させるための電流指令の演算を、1つの台車17を対象とする演算とすることができる。したがって、搬送システム1は、電流指令の演算が複雑になることを防ぐことができる。
搬送路ユニット11は、リニアスケール26と、プロセッサ28と、通信従局29とを備える。リニアスケール26は、搬送路ユニット11上における台車17の位置を検知する検知部である。リニアスケール26は、複数の搬送路ユニット11が互いに連結されて搬送路10を構成することで、搬送路10に設けられることとなる。プロセッサ28は、CPU(Central Processing Unit)である。プロセッサ28は、演算装置、処理装置、マイクロプロセッサ、マイクロコンピュータ、またはDSP(Digital Signal Processor)でも良い。
リニアスケール26は、複数の位置センサ27を備える。各位置センサ27は、ホールセンサまたは磁気抵抗センサといった、磁界を検出するセンサである。各位置センサ27は、永久磁石30の磁界、または永久磁石31の磁界を検出する。ここでは、位置センサ27は、2個のホール素子が搭載されたホールセンサとする。2個のホール素子の間隔は、永久磁石31の磁極ピッチの半分に相当する間隔である。各ホール素子は、磁界を電気信号に変換し、電気信号を出力する。各ホール素子が出力する電気信号は、台車17の移動に伴って変化する。一方のホール素子が出力する電気信号の波形は、sin波となる。他方のホール素子が出力する電気信号の波形は、cos波となる。
リニアスケール26の各位置センサ27からの電気信号は、プロセッサ28へ入力される。プロセッサ28に備えられるAD(Analog to Digital)コンバータは、sin波とcos波とを検出する。プロセッサ28は、sin波の情報とcos波の情報とに基づいてarctanを計算することによって、位置センサ27に対する台車17の位置を検知する。これにより、プロセッサ28は、位置センサ27に対する台車17の相対的な位置を表す位置センサ情報を取得する。なお、図2では、各位置センサ27とプロセッサ28との間における電気信号の通信線の図示を省略する。
通信従局29は、搬送路ユニット11の側の通信従局である。データ通信線15は、通信従局29に接続される。各搬送路ユニット11とトラックコントローラ20とがデイジーチェーン接続により接続される場合、通信従局29は、データ通信線15を構成する2本の線を接続可能に構成される。通信従局29は、搬送路ユニット11に備えられる複数のコイル21の各々について、コイル21に流す電流の指令値を示す電流指令をトラックコントローラ20から受信する。通信従局29は、搬送路ユニット11の複数の電流制御器25の各々へ電流指令を送信する。これにより、搬送路ユニット11は、複数のコイル21の各々を流れる電流を電流指令に従って制御する。
通信従局29は、プロセッサ28から位置センサ情報を取得する。通信従局29は、取得された位置センサ情報をトラックコントローラ20へ送信する。
通信従局29は、例えば、一定の周期において電流指令を受信するとともに位置センサ情報を送信する定周期通信を行う。通信従局29は、かかる定周期通信の代わりに、電流指令の受信と位置センサ情報の送信とを非周期的に行うこととしても良い。
このように、搬送路ユニット11は、主に、コイル21の通電制御を行う機能と、位置センサ情報を取得する機能とを備える。搬送路10を構成する複数の搬送路ユニット11の各々は、コイル21の通電制御を同様に行い、かつ、位置センサ情報を同様に取得する。
次に、トラックコントローラ20の構成について説明する。図3は、実施の形態1にかかる搬送システム1に備えられるトラックコントローラ20の構成例を示す図である。トラックコントローラ20は、台車位置制御器41と、電流指令生成器42と、位置情報生成器43と、通信従局44と、通信主局45とを備える。
通信従局44は、トラックコントローラ20の側の通信従局である。通信従局44は、モーションコントローラ19からの位置指令を受信する。本実施の形態1においては、通信従局44は、搬送路ユニット11の台車17A,17B,17Cに対する位置指令を受信する。通信従局44は、搬送路ユニット11の各台車17に対する位置指令を受信し、受信した位置指令を台車位置制御器41へ出力する。
通信主局45は、トラックコントローラ20の側の通信主局である。通信主局45は、各搬送路ユニット11の通信従局29からの位置センサ情報を受信する。すなわち、通信主局45は、各搬送路ユニット11のプロセッサ28で取得された位置センサ情報を受信する。通信主局45は、受信した位置センサ情報を位置情報生成器43へ出力する。
位置情報生成器43は、各搬送路ユニット11からの位置センサ情報を取得し、取得された位置センサ情報に基づいて各台車17の位置を算出する。位置情報生成器43は、搬送路10における台車17の実際の位置を示す位置情報を生成する。本実施の形態1においては、位置情報生成器43は、搬送路10における台車17A,17B,17Cの実際の位置を示す台車17A,17B,17Cの位置情報を生成する。位置情報生成器43は、搬送システム1の各台車17の位置情報を生成し、生成された位置情報を台車位置制御器41と電流指令生成器42とへ出力する。
台車位置制御器41は、各台車17の位置指令と各台車17の位置情報とを取得する。台車位置制御器41は、位置指令と位置情報との差に基づいて各台車17の推力指令を生成する。本実施の形態1においては、台車位置制御器41は、台車17Aの位置指令と台車17Aの位置情報との差に基づいて台車17Aの推力指令を生成する。台車位置制御器41は、台車17Bの位置指令と台車17Bの位置情報との差に基づいて台車17Bの推力指令を生成する。台車位置制御器41は、台車17Cの位置指令と台車17Cの位置情報との差に基づいて台車17Cの推力指令を生成する。台車位置制御器41は、生成された推力指令を電流指令生成器42へ出力する。
電流指令生成器42は、各台車17の推力指令と各台車17の位置情報とを取得する。電流指令生成器42は、複数のコイル21に流れる電流を制御するための電流指令を、推力指令と位置情報とに基づいて生成する。電流指令生成器42は、トラックコントローラ20における電流指令を生成する際の制御周期ごとにおいて、各搬送路ユニット11の複数のコイル21の全てを電流制御の対象とする電流指令を生成する。ここでの「制御周期」とは、位置情報生成器43による台車17の位置情報の生成から、電流指令生成器42による各搬送路ユニット11のコイル21に対する電流指令の生成までの間が、1つの制御周期であるものとする。つまり、本実施の形態1の電流指令生成器42は、電流指令を生成する際の制御周期の度に、各搬送路ユニット11の複数のコイル21の全てに対する電流指令を生成する。電流指令生成器42は、生成された電流指令を通信主局45へ出力する。通信主局45は、搬送路ユニット11の通信従局29へ電流指令を送信する。以下の説明において、搬送路ユニット11に備えられる複数のコイル21の各々に対する電流指令のグループを、電流指令束と称する。通信主局45は、各搬送路ユニット11の通信従局29へ電流指令束を送信する。
なお、電流指令生成器42により生成される電流指令には、コイル21に流す電流をゼロとする場合の電流指令が含まれる。各搬送路ユニット11の複数のコイル21の全てを電流制御の対象とする電流指令を生成するとは、複数のコイル21のうちの少なくとも1つに対する電流指令値をゼロとする場合が含まれるものとする。
次に、電流指令生成器42による処理の詳細について説明する。図4は、実施の形態1にかかる搬送システム1の電流指令生成器42による処理手順を示すフローチャートである。図4には、制御周期ごとに電流指令生成器42が実行する処理の手順を示す。
ステップS1において、電流指令生成器42は、台車17Aの推力指令と台車17Aの位置情報とに基づいて電流指令束IcmdAを計算する。電流指令束IcmdAは、台車17Aを移動させる推力を発生させるための電流指令のグループである。電流指令生成器42は、各搬送路ユニット11の全てのコイル21に対する電流指令をまとめた電流指令束IcmdAを生成する。
ステップS2において、電流指令生成器42は、台車17Bの推力指令と台車17Bの位置情報とに基づいて電流指令束IcmdBを計算する。電流指令束IcmdBは、台車17Bを移動させる推力を発生させるための電流指令のグループである。電流指令生成器42は、各搬送路ユニット11の全てのコイル21に対する電流指令をまとめた電流指令束IcmdBを生成する。
ステップS3において、電流指令生成器42は、台車17Cの推力指令と台車17Cの位置情報とに基づいて電流指令束IcmdCを計算する。電流指令束IcmdCは、台車17Cを移動させる推力を発生させるための電流指令のグループである。電流指令生成器42は、各搬送路ユニット11の全てのコイル21に対する電流指令をまとめた電流指令束IcmdCを生成する。
ステップS4において、電流指令生成器42は、ステップS1-S3により計算された電流指令束IcmdA,IcmdB,IcmdCを使用して、各搬送路ユニット11の各コイル21に対する電流指令を計算する。電流指令生成器42は、各電流指令束IcmdA,IcmdB,IcmdCをのうち互いに同一のコイル21に対する電流指令同士を足し合わせることによって、各搬送路ユニット11のコイル21ごとの電流指令Itotを計算する。このように、電流指令生成器42は、コイル21ごとに各台車17についての電流指令を求め、コイル21ごとに各台車17についての電流指令を互いに足し合わせることによって、各コイル21についての電流指令を生成する。
電流指令生成器42は、各搬送路ユニット11の全てのコイル21に対する電流指令Itotをまとめた電流指令束Icmdを生成する。電流指令束Icmdは、搬送システム1の全ての台車17A,17B,17Cを移動させる推力を発生させるための電流指令のグループである。電流指令生成器42は、生成された電流指令束Icmdを出力する。以上により、電流指令生成器42は、図4に示す手順による処理を終了する。電流指令生成器42は、図4に示す手順による処理を制御周期ごとに繰り返す。
ここで、電流指令生成器42による電流指令束IcmdA,IcmdB,IcmdCの計算方法の例を説明する。以下の説明では、台車17Aを移動させる推力を発生させるための、各搬送路ユニット11のコイル21ごとの電流指令を、「IcmdA_Aa」のように表記する。「IcmdA_Aa」の「Aa」は、搬送路ユニット11Aのコイル21aに対する電流指令であることを表す。搬送路ユニット11Aのコイル21a以外の各コイル21についても、搬送路ユニット11Aのコイル21aの場合と同じ要領によりコイル21ごとの電流指令を表記するものとする。
図5は、実施の形態1における台車17の位置とコイル21の推力定数との関係の例を示す図である。図5には、台車17の進行方向におけるコイル21の中心位置を基準とする距離xとコイル21の推力定数k(x)との関係を表すグラフを示す。推力定数k(x)は、コイル21を流れる電流に対する台車17が受ける推力の割合を表す。図5において、縦軸は推力定数k(x)を表し、横軸は距離xを表す。図5において、推力定数k(x)の単位はN/Aとする。図5において、距離xの単位は任意であるものとする。なお、以下の説明において、コイル21の中心位置とは、台車17の進行方向におけるコイル21の中心位置とする。台車17の中心位置とは、台車17の進行方向における台車17の中心位置とする。
図5には、参考として、台車17の進行方向における台車17の前方端がコイル21の中心位置に一致するときにおける台車17を示す。コイル21の中心位置に台車17の中心位置が近づくにつれて、コイル21の位置と永久磁石30の位相との関係によって、少ない電流で大きい推力を発生させることができる。コイル21の位置と永久磁石30の位相との関係によって、推力の大小が変化する。
台車17の前方端から台車17の中心位置までの長さであるLcarrier/2よりも、コイル21の中心位置から台車17の中心位置までの距離xが長いとき、推力定数がゼロとなる。すなわち、距離xがLcarrier/2よりも長いとき、コイル21に電流を流しても、台車17に及ぼし得る推力は発生しない。なお、図5に示すグラフは一例である。台車17の位置とコイル21の推力定数との関係は、永久磁石30の配置態様によって変わる。
以下の説明では、各搬送路ユニット11のコイル21ごとの推力定数k(x)を、「kAa(x)」のように表記する。「kAa(x)」の「Aa」は、搬送路ユニット11Aのコイル21aの推力定数k(x)であることを表す。搬送路ユニット11Aのコイル21a以外の各コイル21についても、搬送路ユニット11Aのコイル21aの場合と同じ要領によりコイル21ごとの推力定数k(x)を表記するものとする。
また、以下の説明では、各搬送路ユニット11のコイル21ごとの中心位置を、「pAa」のように表記する。「pAa」の「Aa」は、搬送路ユニット11Aのコイル21aの中心位置であることを表す。搬送路ユニット11Aのコイル21a以外の各コイル21についても、搬送路ユニット11Aのコイル21aの場合と同じ要領によりコイル21ごとの中心位置を表記するものとする。
台車17Aを移動させる推力を発生させるための、各搬送路ユニット11のコイル21ごとの電流指令IcmdA_Aa,IcmdA_Ab,・・・,IcmdA_Hh,IcmdA_Hiは、次に示す式により表される。なお、τAは、台車17Aの推力指令τを表す。xAは、コイル21の中心位置から台車17Aの中心位置までの距離xであって、コイル21に対する台車17Aの実際の位置を表す。
IcmdA_Aa=kAa(xA-pAa)×τA/{kAa(xA-pAa)2+kAb(xA-pAb)2+・・・+kHh(xA-pHh)2+kHi(xA-pHi)2}
IcmdA_Ab=kAb(xA-pAb)×τA/{kAa(xA-pAa)2+kAb(xA-pAb)2+・・・+kHh(xA-pHh)2+kHi(xA-pHi)2}
・・・
IcmdA_Hh=kHh(xA-pHh)×τA/{kAa(xA-pAa)2+kAb(xA-pAb)2+・・・+kHh(xA-pHh)2+kHi(xA-pHi)2}
IcmdA_Hi=kHi(xA-pHi)×τA/{kAa(xA-pAa)2+kAb(xA-pAb)2+・・・+kHh(xA-pHh)2+kHi(xA-pHi)2}
一般に、推力指令τと推力定数k(x)とが与えられた場合に、与えられた推力指令τを実現する各コイル21の電流指令の組は、無数に存在する。上記式により求まる電流指令IcmdA_Aa,IcmdA_Ab,・・・,IcmdA_Hh,IcmdA_Hiの組は、コイル21を流れる電流の二乗和を最小にする組である。すなわち、上記式によると、コイル21の銅損を最小にできる電流指令IcmdA_Aa,IcmdA_Ab,・・・,IcmdA_Hh,IcmdA_Hiが求まる。
電流指令生成器42は、各電流指令IcmdA_Aa,IcmdA_Ab,・・・,IcmdA_Hh,IcmdA_Hiをまとめることによって、台車17Aについての電流指令束IcmdAを生成する。
電流指令生成器42は、台車17Bについての電流指令束IcmdB、および、台車17Cについての電流指令束IcmdCについても、台車17Aについての電流指令束IcmdAの場合と同様に計算する。なお、図4に示す手順では、電流指令束IcmdA、電流指令束IcmdB、および電流指令束IcmdCの順に計算を行うこととしたが、電流指令束IcmdA,IcmdB,IcmdCの計算の順序は任意であるものとする。
次に、台車17A,17B,17Cを移動させる推力を発生させるための、各搬送路ユニット11のコイル21ごとの電流指令Itotを計算する方法の例を説明する。電流指令生成器42は、電流指令束IcmdA,IcmdB,IcmdCを使用して、各搬送路ユニット11のコイル21ごとの電流指令Itotを計算する。以下の説明では、各搬送路ユニット11のコイル21ごとの電流指令Itotを、「Itot_Aa」のように表記する。「Itot_Aa」の「Aa」は、搬送路ユニット11Aのコイル21aに対する電流指令Itotであることを表す。搬送路ユニット11Aのコイル21a以外の各コイル21についても、搬送路ユニット11Aのコイル21aの場合と同じ要領によりコイル21ごとの電流指令Itotを表記するものとする。
各搬送路ユニット11のコイル21ごとの電流指令Itot_Aa,Itot_Ab,・・・,Itot_Hh,Itot_Hiは、次に示す式により表される。
Itot_Aa=IcmdA_Aa+IcmdB_Aa+IcmdC_Aa
Itot_Ab=IcmdA_Ab+IcmdB_Ab+IcmdC_Ab
・・・
Itot_Hh=IcmdA_Hh+IcmdB_Hh+IcmdC_Hh
Itot_Hi=IcmdA_Hi+IcmdB_Hi+IcmdC_Hi
図6は、実施の形態1にかかる搬送システム1による電流指令の計算結果の例を示す図である。図6には、上述する計算方法による電流指令Itot_Aa,Itot_Ab,・・・,Itot_Hh,Itot_Hiの計算結果の例を示す。
図5に示すように、コイル21の中心位置から台車17の中心位置までの距離xがLcarrier/2付近であるときに、推力定数k(x)はほぼゼロとなり、コイル21に流れる電流は台車17の推力発生にほとんど寄与しなくなる。そのため、例えば、IcmdA_Aaがゼロ以外の値である場合、IcmdB_Aa,IcmdC_Aaの各々はほぼゼロとなり、実質的にItot_Aa=IcmdA_Aaが成り立つ。このように、各コイル21が推力を及ぼし得る台車17は実質的に1つであって、1つのコイル21が2以上の台車17に同時に推力を及ぼすことは無いといえる。
また、搬送システム1が図1に示す状態であるとき、例えば搬送路ユニット11Bには、距離xがLcarrier/2よりも短いコイル21は存在していない。搬送路ユニット11Bに備わる複数のコイル21の1つであるコイル21dを例として挙げると、当該コイル21dの電流指令Itot_Bdは以下のように計算される。
Itot_Bd
=IcmdA_Bd+IcmdB_Bd+IcmdC_Bd
=0×τA/{kAa(xA-pAa)2+kAb(xA-pAb)2+・・・+kHh(xA-pHh)2+kHi(xA-pHi)2}
+0×τB/{kAa(xA-pAa)2+kAb(xA-pAb)2+・・・+kHh(xA-pHh)2+kHi(xA-pHi)2}
+0×τC/{kAa(xA-pAa)2+kAb(xA-pAb)2+・・・+kHh(xA-pHh)2+kHi(xA-pHi)2}
=0
このように、距離xがLcarrier/2よりも短いコイル21は存在していない場合、コイル21に対する電流指令値はゼロと計算される。すなわち、電流指令生成器42は、台車17へ推力を及ぼし得る位置以外の位置のコイル21には、電流指令値をゼロとする電流指令を生成する。
以上説明するように、電流指令生成器42は、搬送路ユニット11A,11B,・・・,11Hのコイル21a,21b,・・・21iの全てに対する電流指令Itot_Aa,Itot_Ab,・・・,Itot_Hh,Itot_Hiを生成する。電流指令生成器42は、複数の搬送路ユニット11を制御する際における全ての制御周期において、各搬送路ユニット11の複数のコイル21の全てを電流制御の対象とする電流指令を生成する。
電流指令生成器42は、電流指令Itot_Aa,Itot_Ab,・・・,Itot_Hh,Itot_Hiをまとめた電流指令束Icmdを生成する。電流指令生成器42は、生成された電流指令束Icmdを通信主局45へ出力する。例えば、通信主局45は、電流指令束Icmdのうち電流指令Itot_Aa,Itot_Ab,・・・,Itot_Aiを、搬送路ユニット11Aの通信従局29へ送信する。通信主局45は、電流指令束Icmdのうち電流指令Itot_Ha,Itot_Hb,・・・,Itot_Hiを、搬送路ユニット11Hの通信従局29へ送信する。このように、通信主局45は、各搬送路ユニット11の通信従局29へ電流指令を送信する。
実施の形態1によると、搬送システム1の電流指令生成器42は、複数の搬送路ユニット11を制御する際の制御周期の度に、各搬送路ユニット11の複数のコイル21の全てを電流制御の対象とする電流指令を生成する。搬送システム1は、台車17へ推力を及ぼし得る位置にあるコイル21のみならず、台車17へ推力を及ぼし得る位置以外の位置のコイル21を含む全てのコイル21に対する電流指令を送る。搬送システム1は、コイル21への電流の供給とコイル21へ流れる電流の遮断とを切り換えるスイッチが不要であるため、回路構成を簡易にすることができる。また、搬送システム1は、電流指令とは別に、スイッチに対する開閉指令の生成および出力が不要であるため、簡易なプログラムによる制御が可能となる。
各搬送路ユニット11の複数のコイル21の中から電流を供給するコイル21を選択する場合には、選択されたコイル21のみについて電流指令を計算することとなる。これに対し、実施の形態1の場合、電流指令生成器42は、各搬送路ユニット11の全てのコイル21に対して一律に電流指令を生成するため、コイル21を選択し、選択されたコイル21のみについて電流指令を計算するという手順が不要である。これにより、搬送システム1は、簡易な手順によって各搬送路ユニット11を制御することができる。
電流指令生成器42は、台車17へ推力を及ぼし得る位置以外の位置のコイル21には、電流指令値をゼロとする電流指令を生成する。搬送システム1は、台車17へ推力を及ぼし得る位置以外の位置のコイル21に誘導電流が生じ得る場合でも、誘導電流の相殺により電流をゼロにする調整を行うことができる。搬送システム1は、推力を及ぼし得る位置における台車17の有無による処理の場合分けが不要であり、処理の手順を簡易化できる。
以上により、搬送システム1は、回路構成を簡易にでき、かつ、簡易な処理による制御が可能となるという効果を奏する。
実施の形態2.
実施の形態1では、電流指令生成器42は、コイル21ごとに各台車17についての電流指令を求め、コイル21ごとに各台車17についての電流指令を互いに足し合わせることによって、各コイル21についての電流指令を生成する。実施の形態2では、電流指令生成器42は、各コイル21について、複数の台車17のうちコイル21から最も近い1つの台車17を選択し、選択された台車17へ推力を与える電流指令を求めることによって、各コイル21についての電流指令を生成する。実施の形態2では、上記の実施の形態1と同一の構成要素には同一の符号を付し、実施の形態1とは異なる構成について主に説明する。
図7は、実施の形態2にかかる搬送システム1に備えられる搬送路ユニット11の構成例を示す図である。図7には、搬送路ユニット11の構成の一部と、2つの台車17A,17Bとを示す。図7には、搬送システム1の複数の搬送路ユニット11のうちの1つである搬送路ユニット11Aに2つの台車17A,17Bが存在しているケースを示す。なお、搬送システム1では、図7に示すように1つの搬送路ユニット11に2つの台車17が存在しているケースのほかに、1つの搬送路ユニット11に1つの台車17が存在しているケースと、1つの搬送路ユニット11に台車17が存在していないケースとがある。
図7に示す状態において、台車17の進行方向においてコイル21aの中心位置から最も近い位置にある台車17は、台車17Aである。電流指令生成器42は、台車17Aについての推力指令τであるτAと、台車17Aについての距離xであるxAとを使用して、次に示す式により、搬送路ユニット11Aのコイル21aに対する電流指令Itot_Aaを計算する。
Itot_Aa
=IcmdA_Aa
=kAa(xA-pAa)×τA/{kAa(xA-pAa)2+kAb(xA-pAb)2+・・・+kHh(xA-pHh)2+kHi(xA-pHi)2}
図7に示すケースとは別のケースにおいて、コイル21aの中心位置から遠く離れた位置に台車17が存在している場合、図5に示す関係により、kAa(xA-pAa)=0が成り立つ。この場合、コイル21aは、台車17に及ぼし得る推力を発生しない。
図7に示す状態において、例えば、台車17の進行方向においてコイル21eの中心位置から最も近い位置にある台車17は、台車17Bである。電流指令生成器42は、台車17Bについての推力指令τであるτBと、台車17Bについての距離xであるxBとを使用して、次に示す式により、搬送路ユニット11Aのコイル21eに対する電流指令Itot_Aeを計算する。
Itot_Ae
=IcmdA_Ae
=kAe(xB-pAe)×τB/{kAa(xB-pAa)2+kAb(xB-pAb)2+・・・+kHh(xB-pHh)2+kHi(xB-pHi)2}
図7に示す状態において、例えば、台車17の進行方向においてコイル21dの中心位置から最も近い位置にある台車17は、台車17Aである。電流指令生成器42は、台車17Aについての推力指令τであるτAと、台車17Aについての距離xであるxAとを使用して、次に示す式により、搬送路ユニット11Aのコイル21dに対する電流指令Itot_Adを計算する。
Itot_Ad
=IcmdA_Ad
=kAd(xA-pAd)×τA/{kAa(xA-pAa)2+kAb(xA-pAb)2+・・・+kHh(xA-pHh)2+kHi(xA-pHi)2}
図7に示す状態において、コイル21d上には台車17Bの一部も存在している。ただし、コイル21dの中心位置から台車17の中心位置までの距離xが、台車17Bの前方端から台車17Bの中心位置までの長さよりも長いことから、図5に示す関係により、コイル21dが台車17Bに及ぼし得る推力の推力定数はほぼゼロとなる。コイル21dが発生する磁束は台車17Bの移動にほとんど寄与しないため、台車17AについてのτAおよびxAに基づく電流指令IcmdA_Adを、そのままコイル21dに対する電流指令Itot_Adとすることができる。
図8は、実施の形態2にかかる搬送システム1において各コイル21に対する電流指令の生成に使用される推力指令の例を示す図である。図8には、図7に示す状態における各コイル21a-21iについて、コイル21の中心位置から最も近い位置にある台車17と、電流指令の生成に使用される推力指令τとを示す。コイル21a-21dについては、コイル21の中心位置から最も近い位置にある台車17は、台車17Aである。各コイル21a-21dに対する電流指令の生成に使用される推力指令τは、τAである。コイル21e-21iについては、コイル21の中心位置から最も近い位置にある台車17は、台車17Bである。各コイル21e-21iに対する電流指令の生成に使用される推力指令τは、τBである。
以上にて説明するように、電流指令生成器42は、各コイル21について、複数の台車17のうちコイル21から最も近い1つの台車17を選択し、選択された台車17へ推力を与える電流指令を求めることによって、各コイル21についての電流指令を生成する。電流指令生成器42は、各搬送路ユニット11B-11Hの各コイル21に対する電流指令も、搬送路ユニット11Aの各コイル21に対する電流指令の場合と同様に計算する。
電流指令生成器42は、各搬送路ユニット11の各コイル21に対する電流指令をまとめた電流指令束Icmdを生成する。電流指令生成器42は、生成された電流指令束Icmdを通信主局45へ出力する。例えば、通信主局45は、電流指令束Icmdのうち電流指令Itot_Aa,Itot_Ab,・・・,Itot_Aiを、搬送路ユニット11Aの通信従局29へ送信する。通信主局45は、電流指令束Icmdのうち電流指令Itot_Ha,Itot_Hb,・・・,Itot_Hiを、搬送路ユニット11Hの通信従局29へ送信する。このように、通信主局45は、各搬送路ユニット11の通信従局29へ電流指令を送信する。
実施の形態2によると、搬送システム1の電流指令生成器42は、複数の搬送路ユニット11を制御する際の制御周期の度に、各搬送路ユニット11の複数のコイル21の全てを電流制御の対象とする電流指令を生成する。これにより、搬送システム1は、回路構成を簡易にでき、かつ、簡易な処理による制御が可能となるという効果を奏する。
さらに、電流指令生成器42は、各コイル21について、複数の台車17のうちコイル21から最も近い1つの台車17を選択し、選択された台車17へ推力を与える電流指令を求める。電流指令生成器42は、各コイル21について、選択された台車17に対応する電流指令を計算するため、各コイル21について複数の台車17の各々に対応する電流指令を計算する場合に比べて計算量を低減できる。これにより、搬送システム1は、制御のための計算量を低減できる。
実施の形態3.
実施の形態3では、推力指令補正値に基づいて推力指令の補正を行うとともに、推力指令補正値の算出に機械学習を適用する例について説明する。実施の形態3では、上記の実施の形態1または2と同一の構成要素には同一の符号を付し、実施の形態1または2とは異なる構成について主に説明する。
各搬送路ユニット11ではコイル21が一定の間隔で配列されているが、搬送路10のうち搬送路ユニット11同士の接続部分ではコイル21の配列の連続性が途切れる。このため、搬送路ユニット11同士の接続部分では、搬送路ユニット11内のコイル21間で生じるコギングトルクとは異なるコギングトルクが発生し、コギングトルクが変動する。搬送路ユニット11の組付けはユーザによって行われる場合が多く、搬送路ユニット11同士の組付け誤差が発生し易いため、搬送路ユニット11同士の接続部分におけるコギングトルクを補正するための補正値をあらかじめ想定することは困難である。実際に搬送路10の組立が完了した後に補正値を求める場合は、搬送路ユニット11同士の接続部分におけるコギングトルクを精度良く測定する必要があることから、搬送路10の組立における工数が増加することとなる。
実施の形態3では、機械学習により算出された推力指令補正値を算出して推力指令を補正することによって、コギングトルクの高精度な補正が可能となり、かつ、搬送路10の組立における工数を削減することができる。実施の形態3において、推力指令補正値とは、推力指令の補正に使用される補正値とする。
図9は、実施の形態3にかかる搬送システム1に備えられるトラックコントローラ50の構成例を示す図である。トラックコントローラ50は、電流指令生成器42と、位置情報生成器43と、通信従局44と、通信主局45と、台車位置制御器51と、学習装置52と、学習済モデル記憶部53とを備える。
台車位置制御器51は、各台車17の位置指令と各台車17の位置情報とを取得する。台車位置制御器51は、位置指令と位置情報との差に基づいて各台車17の推力指令を生成する。また、台車位置制御器51は、学習済モデル記憶部53から学習済モデルを取得し、学習済モデルと各台車17の位置情報とに基づいて推力指令補正値を求める。台車位置制御器51は、推力指令補正値を用いて推力指令を補正し、補正された推力指令を電流指令生成器42へ出力する。
学習装置52は、各台車17の位置情報と推力指令補正値とを取得する。学習装置52は、コギングトルクの高精度な補正を可能とする推力指令補正値を学習する。学習装置52は、学習の結果である学習済モデルを出力する。学習済モデル記憶部53は、学習済モデルを記憶する。
図10は、実施の形態3にかかる搬送システム1に備えられる学習装置52の構成例を示す図である。学習装置52は、データ取得部61とモデル生成部62とを備える。データ取得部61は、学習用データを取得し、学習用データをまとめ合わせたデータセットを作成する。学習用データは、各台車17の位置情報および推力指令補正値である。すなわち、データ取得部61は、位置情報と推力指令補正値とを含む学習用データを取得する。データ取得部61は、位置情報生成器43から位置情報を取得する。データ取得部61は、台車位置制御器51から推力指令補正値を取得する。
モデル生成部62は、学習用データを用いて学習済モデルを生成する。モデル生成部62は、位置情報からの推力指令補正値の推論に使用される学習済モデルを、学習用データに基づいて生成する。モデル生成部62は、生成された学習済モデルを出力する。学習済モデルは、学習済モデル記憶部53に格納される。なお、モデル生成部62は、既に生成された学習済モデルを学習済モデル記憶部53から読み出し、学習用データに従った再学習により学習済モデルを更新しても良い。
モデル生成部62が用いる学習アルゴリズムとしては、教師あり学習、教師なし学習、または強化学習等の公知のアルゴリズムを用いることができる。一例として、モデル生成部62が用いる学習アルゴリズムに強化学習(Reinforcement Learning)を適用する場合について説明する。強化学習は、ある環境内におけるエージェントである行動主体が、現在の状態を観測し、取るべき行動を決定する、というものである。エージェントは行動を選択することで環境から報酬を得て、一連の行動を通じて報酬が最も多く得られるような方策を学習する。強化学習の代表的な手法として、Q学習(Q-Learning)およびTD学習(TD-Learning)などが知られている。例えば、Q学習の場合、行動価値関数Q(s,a)の一般的な更新式である行動価値テーブルは、次の式(1)で表される。行動価値関数Q(s,a)は、環境「s」のもとで行動「a」を選択する行動の価値である行動価値Qを表す。
式(1)において、「st」は、時刻「t」における環境を表す。「at」は、時刻「t」における行動を表す。行動「at」によって、環境は「st+1」に変わる。「rt+1」は、その環境の変化によってもらえる報酬を表す。「γ」は、割引率を表す。「α」は、学習係数を表す。実施の形態3において、位置情報は、環境「st」である。また、推力指令補正値は、行動「at」である。
式(1)により表される更新式は、時刻「t+1」における最良の行動「a」の行動価値が、時刻「t」において実行された行動「a」の行動価値Qよりも大きければ、行動価値Qを大きくし、逆の場合は、行動価値Qを小さくする。換言すれば、時刻「t」における行動「a」の行動価値Qを、時刻「t+1」における最良の行動価値に近づけるように、行動価値関数Q(s,a)を更新する。それにより、ある環境における最良の行動価値が、それ以前の環境における行動価値に順次伝播する。
モデル生成部62は、報酬計算部63および関数更新部64を有する。報酬計算部63は、データセットに基づいて報酬を計算する。関数更新部64は、報酬計算部63によって算出される報酬に従って、推力指令補正値を決定するための関数を更新する。
具体的には、報酬計算部63は、台車17の速度の変動度に基づいて報酬「r」を計算する。台車17の速度の変動度は、例えば台車17の位置情報に基づいて求まる。例えば、台車17の速度の変動度が小さくなった場合に、報酬計算部63は、報酬「r」を増大させる。報酬計算部63は、報酬の値である「1」を与えることによって報酬「r」を増大させる。なお、報酬の値は「1」に限られない。一方、台車17の速度の変動度が大きくなった場合に、報酬計算部63は、報酬「r」を減少させる。報酬計算部63は、報酬の値である「-1」を与えることによって報酬「r」を減少させる。なお、報酬の値は「-1」に限られない。
関数更新部64は、報酬計算部63によって計算される報酬に従って、推力指令補正値を決定するためのモデルである関数を更新する。関数の更新は、データセットに従って、例えば行動価値テーブルを更新することによって行うことができる。行動価値テーブルは、任意の行動と、その行動価値とを関連付けてテーブルの形式で記憶したデータセットである。例えばQ学習の場合、上記の式(1)により表される行動価値関数Q(st,at)を、推力指令補正値を決定するための関数として用いる。
図11は、実施の形態3にかかる搬送システム1に備えられる学習装置52の処理手順を示すフローチャートである。図11のフローチャートを参照して、行動価値関数Q(s,a)を更新する強化学習方法について説明する。
ステップS11において、学習装置52は、データ取得部61により、各台車17の位置情報と推力指令補正値とを取得する。すなわち、学習装置52は、学習用データを取得する。データ取得部61は、学習用データをまとめたデータセットをモデル生成部62へ出力する。
ステップS12において、学習装置52は、報酬計算部63により報酬を計算する。報酬計算部63は、各台車17の位置情報と各台車17についての推力指令補正値との組み合わせに対する報酬を計算する。報酬計算部63は、台車17の速度の変動度に基づいて、報酬を増大または減少させる。
ステップS13において、学習装置52は、関数更新部64により行動価値関数を更新する。関数更新部64は、ステップS12において計算された報酬に基づいて行動価値関数Q(s,a)を更新する。学習装置52は、学習済モデル記憶部53に記憶されている行動価値関数Q(st,at)を更新する。
ステップS14において、学習装置52は、関数更新部64により、行動価値関数Q(s,a)が収束したか否かを判断する。関数更新部64は、ステップS13における行動価値関数Q(s,a)の更新が行われなくなることによって行動価値関数Q(s,a)が収束したと判断する。
行動価値関数Q(s,a)が収束していないと判断された場合(ステップS14,No)、学習装置52は、手順をステップS11へ戻す。一方、行動価値関数Q(s,a)が収束したと判断された場合(ステップS14,Yes)、学習装置52は、図11に示す手順による処理を終了する。なお、学習装置52は、ステップS14による判断をせず、ステップS13からステップS11へ手順を戻すことによって学習を継続しても良い。学習済モデル記憶部53は、生成された行動価値関数Q(s,a)である学習済モデルを記憶する。
実施の形態3では、学習装置52が用いる学習アルゴリズムに強化学習を適用する場合について説明したが、学習アルゴリズムには、強化学習以外の学習が適用されても良い。学習装置52は、強化学習以外の公知の学習アルゴリズム、例えば、深層学習(Deep Learning)、ニューラルネットワーク、遺伝的プログラミング、帰納論理プログラミングあるいはサポートベクターマシンといった学習アルゴリズムを用いて機械学習を実行しても良い。
図9および図10に示す学習装置52は、トラックコントローラ50に内蔵される装置である。学習装置52は、トラックコントローラ50の外部の装置でも良い。トラックコントローラ50の外部の装置である学習装置52は、搬送システム1を構成する。学習装置52は、ネットワークを介してトラックコントローラ50に接続可能な装置でも良い。学習装置52は、クラウドサーバ上に存在する装置でも良い。
学習装置52は、複数の搬送システム1について作成されたデータセットに従って、位置情報と推力指令補正値との関係を学習しても良い。学習装置52は、同一の場所で使用される複数の搬送システム1から学習用データを取得しても良く、または、互いに異なる場所で使用される複数の搬送システム1から学習用データを取得しても良い。学習用データは、複数の場所において互いに独立して稼働する複数の搬送システム1から収集されたものでも良い。複数の搬送システム1からの学習用データの収集を開始した後に、学習用データが収集される対象に新たな搬送システム1が追加されても良い。また、複数の搬送システム1からの学習用データの収集を開始した後に、学習用データが収集される対象から、複数の搬送システム1のうちの一部が除外されても良い。
ある1つの搬送システム1について学習を行った学習装置52は、当該搬送システム1以外の他の搬送システム1についての学習を行っても良い。当該他の搬送システム1についての学習を行う学習装置52は、当該他の搬送システム1における再学習によって、学習済モデルを更新することができる。
図12は、実施の形態3にかかる搬送システム1に備えられる台車位置制御器51の構成例を示す図である。台車位置制御器51は、推力指令生成器71と、推力指令補正部72と、データ取得部73と、推論部74とを備える。データ取得部73および推論部74は、各台車17の位置情報から推力指令補正値を推論する推論装置として機能する。
推力指令生成器71は、各台車17の位置指令と各台車17の位置情報とを取得する。推力指令生成器71は、台車17ごとの位置指令と台車17ごとの位置情報との差に基づいて、各台車17の推力指令を生成する。推力指令生成器71は、生成された推力指令を推力指令補正部72へ出力する。
データ取得部73は、推論用データを取得する。推論用データは、搬送システム1に備えられる複数の台車17の各々の位置情報である。データ取得部73は、位置情報生成器43から位置情報を取得する。推論部74は、学習装置52によって生成された学習済モデルを、学習済モデル記憶部53から読み出す。推論部74は、学習済モデルへ推論用データを入力することによって、推力指令補正値を推論する。推論部74は、推論結果である推力指令補正値を推力指令補正部72へ出力する。推力指令補正部72は、推力指令補正値を使用して、各台車17の推力指令を補正する。推力指令補正部72は、補正された推力指令を出力する。
図13は、実施の形態3にかかる搬送システム1に備えられる台車位置制御器51の処理手順を示すフローチャートである。台車位置制御器51は、推力指令生成器71により各台車17の位置指令と各台車17の位置情報とを取得する。推力指令生成器71は、位置指令と位置情報とに基づいて、各台車17の推力指令を生成する。
ステップS21において、台車位置制御器51は、データ取得部73により各台車17の位置情報を取得する。データ取得部73は、取得された位置情報を推論部74へ出力する。ステップS22において、台車位置制御器51は、推論部74により、位置情報を学習済モデルへ入力することによって推力指令補正値を生成する。推論部74は、生成された推力指令補正値を推力指令補正部72へ出力する。
ステップS23において、台車位置制御器51は、推力指令補正部72により、推力指令補正値を使用して推力指令を補正する。ステップS24において、台車位置制御器51は、推力指令補正部72により補正された推力指令を出力する。以上により、台車位置制御器51は、図13に示す手順による処理を終了する。電流指令生成器42は、台車位置制御器51より取得された推力指令と各台車17の位置情報とに基づいて電流指令を生成する。
実施の形態3によると、搬送システム1は、学習装置52により、コギングトルクの高精度な補正を可能とする推力指令補正値を学習する。搬送システム1は、データ取得部73と推論部74とを備える台車位置制御器51により、コギングトルクの高精度な補正を可能とする推力指令補正値を推論する。搬送システム1は、推論結果である推力指令補正値に基づいて推力指令を補正することによって、コギングトルクの高精度な補正が可能となり、かつ、搬送路10の組立における工数を削減することができる。
次に、実施の形態1から3にかかるトラックコントローラ20,50を実現するハードウェアについて説明する。トラックコントローラ20,50は、処理回路により実現される。処理回路は、プロセッサがソフトウェアを実行する回路であっても良いし、専用の回路であっても良い。
処理回路がソフトウェアにより実現される場合、処理回路は、例えば、図14に示す制御回路である。図14は、実施の形態1から3にかかる制御回路80の構成例を示す図である。制御回路80は、入力部81、プロセッサ82、メモリ83および出力部84を備える。入力部81は、制御回路80の外部から入力されたデータを受信してプロセッサ82に与えるインターフェース回路である。出力部84は、プロセッサ82またはメモリ83からのデータを制御回路80の外部に送るインターフェース回路である。
処理回路が図14に示す制御回路80である場合、トラックコントローラ20,50は、ソフトウェア、ファームウェア、またはソフトウェアとファームウェアとの組み合わせにより実現される。ソフトウェアまたはファームウェアはプログラムとして記述され、メモリ83に格納される。処理回路は、メモリ83に記憶されたプログラムをプロセッサ82が読み出して実行することにより、トラックコントローラ20,50の各機能を実現する。すなわち、処理回路は、トラックコントローラ20,50の処理が結果的に実行されることになるプログラムを格納するためのメモリ83を備える。また、これらのプログラムは、トラックコントローラ20,50の手順および方法をコンピュータに実行させるものであるともいえる。
プロセッサ82は、CPUである。プロセッサ82は、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサ、またはDSPでも良い。メモリ83は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、EPROM(Erasable Programmable Read Only Memory)、EEPROM(登録商標)(Electrically Erasable Programmable Read Only Memory)等の、不揮発性または揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスクまたはDVD(Digital Versatile Disc)等が該当する。
図14は、汎用のプロセッサ82およびメモリ83によりトラックコントローラ20,50を実現する場合のハードウェアの例であるが、トラックコントローラ20,50は、専用のハードウェア回路により実現されても良い。図15は、実施の形態1から3にかかる専用のハードウェア回路85の構成例を示す図である。
専用のハードウェア回路85は、入力部81、出力部84および処理回路86を備える。処理回路86は、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)、またはこれらを組み合わせた回路である。トラックコントローラ20,50の各機能を機能別に処理回路86で実現しても良いし、各機能をまとめて処理回路86で実現しても良い。なお、トラックコントローラ20,50は、制御回路80とハードウェア回路85とが組み合わされて実現されても良い。
図1に示すモーションコントローラ19は、トラックコントローラ20,50と同様に、処理回路により実現される。モーションコントローラ19を実現する処理回路は、図14に示す制御回路80、または、図15に示す専用のハードウェア回路85である。
実施の形態1から3にかかる搬送システム1における各構成要素の分散または統合の具体的形態は、実施の形態1から3で説明するものに限られない。搬送システム1の構成要素の全部または一部は、機能的または物理的に、任意の単位で分散あるいは統合して構成されても良い。例えば、図1に示すコントローラ12は、モーションコントローラ19とトラックコントローラ20とに分離されたものに限られず、1つの装置により実現されても良い。
以上の各実施の形態に示した構成は、本開示の内容の一例を示すものである。各実施の形態の構成は、別の公知の技術と組み合わせることが可能である。各実施の形態の構成同士が適宜組み合わせられても良い。本開示の要旨を逸脱しない範囲で、各実施の形態の構成の一部を省略または変更することが可能である。