(57)【要約】【課題】停止指令が入力されてからサーボモータが停止するまでの間のサーボモータの動作量が不必要に長く又は短くなる可能性を低減させる。【解決手段】モータ駆動システム１は、サーボモータ７の動作を制御するサーボ制御部２を備える。サーボ制御部２は、サーボモータ７を停止させるための停止指令Ｃ１が入力されてからサーボモータ７が停止するまでの間のサーボモータ７の動作量が、所定の範囲である制動範囲内となるようにサーボモータ７を停止させる制御を行う。サーボ制御部２は、制動制御部２２を有する。制動制御部２２は、サーボモータ７が駆動する駆動対象１１の位置に関する情報に基づいて制動範囲を決定する。【選択図】図１
2020174467.tif 000002
【特許請求の範囲】
【請求項１】
サーボモータの動作を制御するサーボ制御部を備え、
前記サーボ制御部は、前記サーボモータを停止させるための停止指令が入力されてから前記サーボモータが停止するまでの間の前記サーボモータの動作量が、所定の範囲である制動範囲内となるように前記サーボモータを停止させる制御を行い、
前記サーボ制御部は、前記サーボモータが駆動する駆動対象の位置に関する情報に基づいて前記制動範囲を決定する制動制御部を有する、
モータ駆動システム。
【請求項２】
前記制動制御部は、前記制動範囲を決定するためのパラメータの入力を受け付ける、
請求項１に記載のモータ駆動システム。
【請求項３】
前記制動制御部は、前記停止指令が入力された後に前記駆動対象の位置に関する情報を検出するセンサの出力に基づいて、前記制動範囲を決定する、
請求項１又は２に記載のモータ駆動システム。
【請求項４】
前記サーボモータは、前記駆動対象を移動させ、
前記制動制御部は、前記制動範囲を、前記駆動対象が所定のエリアに侵入しない範囲に決定する、
請求項１〜３のいずれか一項に記載のモータ駆動システム。
【請求項５】
前記制動制御部は、前記停止指令が入力された後の前記サーボモータの加速度の時間変化のパターンを決定する、
請求項１〜４のいずれか一項に記載のモータ駆動システム。
【請求項６】
前記制動制御部は、前記サーボモータの動作量が前記制動範囲の上限を超過しない範囲で、前記停止指令が入力された後の前記サーボモータの加速度の時間変化のパターンを決定する、
請求項５に記載のモータ駆動システム。
【請求項７】
前記制動制御部は、前記サーボモータの加速度の絶対値が所定の加速度を下回らない範囲で、前記停止指令が入力された後の前記サーボモータの加速度の時間変化のパターンを決定する、
請求項５又は６に記載のモータ駆動システム。
【請求項８】
前記制動制御部は、前記サーボモータの加速度が連続的に変化するように、前記停止指令が入力された後の前記サーボモータの加速度の時間変化のパターンを決定する機能を有する、
請求項５〜７のいずれか一項に記載のモータ駆動システム。
【請求項９】
前記サーボ制御部は、前記停止指令を含む指令を前記サーボ制御部に出力する上位コントローラと通信するための通信部を有する、
請求項１〜８のいずれか一項に記載のモータ駆動システム。
【請求項１０】
特定の事象の発生を検出すると前記サーボ制御部に前記停止指令を出力するエラー検出部を更に備える、
請求項１〜９のいずれか一項に記載のモータ駆動システム。
【請求項１１】
前記サーボモータを更に備える、
請求項１〜１０のいずれか一項に記載のモータ駆動システム。
【請求項１２】
サーボモータを停止させるための停止指令が入力されてから前記サーボモータが停止するまでの間の前記サーボモータの動作量が、所定の範囲である制動範囲内となるように前記サーボモータを停止させる制御を行う停止ステップと、
前記サーボモータが駆動する駆動対象の位置に関する情報に基づいて前記制動範囲を決定する決定ステップと、を備える、
モータ駆動方法。
【請求項１３】
請求項１２に記載のモータ駆動方法を、１以上のプロセッサに実行させるための、
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示はモータ駆動システム、モータ駆動方法及びプログラムに関し、より詳細には、サーボモータの動作を制御するモータ駆動システム、モータ駆動方法及びプログラムに関する。
【背景技術】
【０００２】
特許文献１記載のモータ制御装置は、モータとモータが連結された機械系とを備える制御対象に対する位置決め制御をモータの駆動制御により実現する。モータ制御装置は、速度指令とモータの検出速度とに基づいて電流指令を算出し出力する速度制御部と、電流指令に基づいてモータに供給する駆動電流を制御する電流制御部とを備える。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−００８５９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
このようなモータ制御装置において、緊急時に外部から停止指令が入力された場合等には、例えば、モータへの駆動電流の供給を遮断することでモータを急停止させていた。しかしながら、例えば、モータが搬送機に用いられる場合には、モータが急停止することで、搬送機が搬送している物品が搬送機から脱落する可能性がある。また、モータが急停止することで、モータ自体に負担が掛かる可能性もある。このように、停止指令が入力されてからモータが停止するまでの間のモータの動作量が不必要に短いことによって問題が生じることがあった。
【０００５】
本開示は、停止指令が入力されてからサーボモータが停止するまでの間のサーボモータの動作量が不必要に長く又は短くなる可能性を低減できるモータ駆動システム、モータ駆動方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本開示の一態様に係るモータ駆動システムは、サーボモータの動作を制御するサーボ制御部を備える。前記サーボ制御部は、前記サーボモータを停止させるための停止指令が入力されてから前記サーボモータが停止するまでの間の前記サーボモータの動作量が、所定の範囲である制動範囲内となるように前記サーボモータを停止させる制御を行う。前記サーボ制御部は、制動制御部を有する。前記制動制御部は、前記サーボモータが駆動する駆動対象の位置に関する情報に基づいて前記制動範囲を決定する。
【０００７】
本開示の一態様に係るモータ駆動方法は、停止ステップと、決定ステップと、を備える。前記停止ステップは、サーボモータを停止させるための停止指令が入力されてから前記サーボモータが停止するまでの間の前記サーボモータの動作量が、所定の範囲である制動範囲内となるように前記サーボモータを停止させる制御を行う。前記決定ステップは、前記サーボモータが駆動する駆動対象の位置に関する情報に基づいて前記制動範囲を決定する。
【０００８】
本開示の一態様に係るプログラムは、上記モータ駆動方法を、１以上のプロセッサに実行させる。
【発明の効果】
【０００９】
本開示は、停止指令が入力されてからサーボモータが停止するまでの間のサーボモータの動作量が不必要に長く又は短くなる可能性を低減できるという利点がある。
【図面の簡単な説明】
【００１０】
【図１】図１は、一実施形態に係るモータ駆動システムが、停止制御に対応して動作している際のサーボモータの制御を説明するブロック図である。
【図２】図２は、同上のモータ駆動システムが、基本制御に対応して動作している際のサーボモータの制御を説明するブロック図である。
【図３】図３Ａは、同上のモータ駆動システムを備えた搬送機の移動の様子を示すイメージ図である。図３Ｂは、同上の搬送機の停止した状態を示すイメージ図である。
【図４】図４は、同上のモータ駆動システムが、停止制御に対応して動作する際のフローチャートである。
【図５】図５は、同上のモータ駆動システムの加速度、速度及び座標の時間変化の一例を示すグラフである。
【図６】図６Ａは、変形例１に係るモータ駆動システムの加速度、速度及び座標の時間変化の一例を示すグラフである。図６Ｂは、同上のモータ駆動システムの加速度、速度及び座標の時間変化の別の一例を示すグラフである。
【発明を実施するための形態】
【００１１】
以下、実施形態に係るモータ駆動システムについて、図面を用いて説明する。ただし、下記の実施形態は、本開示の様々な実施形態の１つに過ぎない。下記の実施形態は、本開示の目的を達成できれば、設計等に応じて種々の変更が可能である。
【００１２】
（１）構成
図１に示すように、本実施形態のモータ駆動システム１は、サーボ制御部２を備えている。サーボ制御部２は、サーボモータ７の動作を制御する。また、サーボ制御部２は、上位コントローラ８と通信する。サーボ制御部２は、上位コントローラ８から指令を受けて、指令に応じてサーボモータ７の動作を制御する。ここで、サーボモータ７及び上位コントローラ８は、モータ駆動システム１の外部の構成として設けられているが、サーボモータ７及び上位コントローラ８のうち少なくとも一方がモータ駆動システム１に含まれていてもよい。
【００１３】
本実施形態では、上位コントローラ８は、例えばサーバである。上位コントローラ８及びサーボ制御部２の少なくとも一部は、１以上のプロセッサ及びメモリを有するコンピュータシステムにより構成されている。また、上位コントローラ８及びサーボ制御部２の各々のブロック全体がコンピュータシステムによって構成されている必要はなく、そのうちの少なくとも一部のみが、１以上のプロセッサ及びメモリを有するコンピュータシステムにより構成されている構成でもよい。コンピュータシステムのメモリに記録されたプログラムを、コンピュータシステムのプロセッサが実行することにより、上位コントローラ８及びサーボ制御部２の各々の機能のうちの少なくとも一部の機能が実現される。プログラムは、メモリに記録されていてもよいし、インターネット等の電気通信回線を通して提供されてもよく、メモリカード等の非一時的記録媒体に記録されて提供されてもよい。
【００１４】
サーボモータ７は、駆動対象１１を駆動する。本実施形態では、サーボモータ７は、ステータと、ステータに対して回転するロータと、ロータと一緒に回転する出力軸とを有する回転モータである。本実施形態のモータ駆動システム１及びサーボモータ７は、搬送機１０（移動体）に備えられている。本実施形態の駆動対象１１は、搬送機１０の本体である。搬送機１０は、駆動輪を含む本体（駆動対象１１）と、サーボモータ７と、モータ駆動システム１とを備えている。サーボモータ７は、出力軸を介して駆動輪を回転させて本体（駆動対象１１）を移動させる。これにより、搬送機１０は、物品１２（図３Ａ参照）を搬送することができる。
【００１５】
モータ駆動システム１は、エンコーダ４１と、トルク検出部４２と、外部スケール４３と、エラー検出部４４とを更に備えている。
【００１６】
エンコーダ４１は、サーボモータ７のロータの回転角を検出する。エンコーダ４１としては、例えば、光電式エンコーダ又は磁気式エンコーダを採用することができる。
【００１７】
トルク検出部４２は、サーボモータ７の動作トルクを検出する。トルク検出部４２は、例えば、ねじり歪みの検出が可能な磁歪式歪センサである。磁歪式歪センサは、サーボモータ７の出力軸にトルクが加わることにより発生する歪みに応じた透磁率の変化を、サーボモータ７の非回転部分に設置したコイルで検出し、歪みに比例した電圧信号を出力する。
【００１８】
外部スケール４３は、例えば、光学センサ、超音波センサ、又は、撮像装置を含む。外部スケール４３は、モータ駆動システム１を備えた搬送機１０（移動体）の周囲の物体を検出する。本実施形態では、外部スケール４３は、駆動対象１１の進路に物体が存在するか否かを検出し、物体が存在する場合に、物体と駆動対象１１との間の距離を求める。
【００１９】
エラー検出部４４は、特定の事象の発生を検出する。エラー検出部４４は、特定の事象の発生を検出すると、サーボモータ７を緊急停止させるための停止指令Ｃ１（図１参照）をサーボ制御部２に出力する。特定の事象は、モータ駆動システム１による制御に関する異常を示す事象である。特定の事象の具体例は、たとえばサーボモータ７のトルクが第１の閾値よりも大きいこと、サーボモータ７に供給される電流が第２の閾値よりも大きい過電流であること、又は、駆動対象１１の進路に障害物が存在すること等である。
【００２０】
一例として、エラー検出部４４は、サーボモータ７のトルクが第１の閾値よりも大きいか否かを判定するために、トルク検出部４２からサーボモータ７の動作トルクの検出値を取得している。また、エラー検出部４４は、サーボモータ７に供給される電流が第２の閾値よりも大きいか否かを判定するために、電流センサを備えており、サーボモータ７に供給される電流の検出値を電流センサから取得している。電流センサは、例えば、シャント抵抗素子又はホール素子電流センサを含んでいる。また、エラー検出部４４は、駆動対象１１の進路に障害物が存在するか否かを判定するために、外部スケール４３の検出結果を取得している。
【００２１】
サーボ制御部２は、フルクローズドループ方式によりサーボモータ７の動作を制御する。
【００２２】
サーボ制御部２は、制動制御部２２を有している。サーボ制御部２は、更に、通信部２１と、位置制御部２３と、速度フィードフォワード部２４と、速度演算部２５と、速度制御部２６と、トルクフィードフォワード部２７と、トルク制御部２８と、電流制御部２９とを有している。
【００２３】
制動制御部２２は、サーボ制御部２がサーボモータ７を緊急停止させる場合にサーボモータ７の動作を制御する。すなわち、サーボ制御部２の動作は、上位コントローラ８からの指令に基づいてサーボモータ７を制御する基本制御（モード）と、サーボ制御部２がサーボモータ７を緊急停止させる停止制御（モード）とを含む。詳しくは後述する。
【００２４】
通信部２１は、上位コントローラ８と通信するための通信インタフェースを含んでいる。通信部２１と上位コントローラ８との間の通信方式としては、無線通信又は有線通信の適宜の通信方式が採用される。本実施形態では一例として、通信部２１は、Wi-Fi（登録商標）、Bluetooth（登録商標）、ZigBee（登録商標）又は免許を必要としない小電力無線（特定小電力無線）等の規格に準拠した、電波を通信媒体として用いる無線通信を採用する。
【００２５】
通信部２１は、上位コントローラ８から出力される位置指令の入力を受け付ける。位置指令は、サーボモータ７の回転角を指定する指令である。位置指令は、サーボモータ７の回転角を示す値である位置指令値として通信部２１に入力される。
【００２６】
また、上位コントローラ８は、停止指令Ｃ１（図１参照）を出力する。通信部２１は、上位コントローラ８から出力される停止指令Ｃ１の入力を受け付ける。停止指令Ｃ１は、サーボモータ７を緊急停止させるための指令である。後述するように、本開示の課題の１つは、停止指令Ｃ１に応じてサーボモータ７を停止させる制御を適正化して、停止しようとする駆動対象１１が物体９（図３Ａ参照）と衝突する可能性を低減することである。停止指令Ｃ１は、搬送機１０又はサーボモータ７の停止位置等の情報を有している必要はなく、少なくともサーボモータ７を停止する必要の有無を判別可能な信号として入力されればよい。停止指令Ｃ１は、例えば、サーボモータ７を停止する必要の有無を、２値により示す信号であってもよい。
【００２７】
また、上位コントローラ８は、停止指令Ｃ１によってサーボモータ７の緊急停止を指示することとは別に、位置指令によってサーボモータ７の停止を指示することができる。位置指令に応じてサーボモータ７が停止させられる場合は、位置指令には、例えば、搬送機１０の停止位置を指定する情報が含まれている。サーボ制御部２は、位置指令により指定された停止位置で搬送機１０が停止するように、サーボモータ７の動作を制御する。サーボモータ７を停止させるための位置指令は、例えば、搬送機１０を待機させる際、搬送機１０に搬送されている物品１２を荷卸しする際、及び、搬送機１０に物品１２を荷積みする際に、上位コントローラ８から出力される。
【００２８】
また、上位コントローラ８は、停止指令Ｃ１に対応してサーボ制御部２がサーボモータ７を停止させる制御に関わるパラメータを通信部２１に出力する。詳細は後述する。
【００２９】
（２）基本制御
以下では、まず、上位コントローラ８から通信部２１に位置指令（位置指令値）が入力された場合のモータ駆動システム１の動作フローについて、図２を参照して説明する。
【００３０】
位置制御部２３は、通信部２１から取得した位置指令値（回転角）と、エンコーダ４１で検出されたロータの回転角との差（位置偏差）に、所定のポジションゲインを乗じた値を、第１の速度指令値として生成する。第１の速度指令値は、サーボモータ７の回転速度を指定する指令値である。
【００３１】
速度フィードフォワード部２４は、通信部２１から取得した位置指令値を微分して第２の速度指令値とし、この第２の速度指令値に所定の速度フィードフォワードゲインを乗じた値を、速度フィードフォワード指令値として出力する。
【００３２】
速度演算部２５は、エンコーダ４１で検出されたロータの回転角を時間微分して、ロータの回転速度を演算する。
【００３３】
速度制御部２６は、位置制御部２３から出力された第１の速度指令値と、速度フィードフォワード部２４から出力された速度フィードフォワード指令値との和から、速度演算部２５で演算されたロータの回転速度を引いた値に基づいて、トルク指令値を生成する。トルク指令値は、サーボモータ７の動作トルクを指定する指令値である。
【００３４】
トルクフィードフォワード部２７は、通信部２１から取得した位置指令値に基づいて、トルクフィードフォワード指令値を生成する。
【００３５】
トルク制御部２８は、速度制御部２６から出力されたトルク指令値と、トルクフィードフォワード部２７から出力されたトルクフィードフォワード指令値との和から、トルク検出部４２から取得したサーボモータ７の動作トルクの検出値を引いた値に基づいて、電流指令値を生成する。電流指令値は、サーボモータ７に供給される電流を指定する指令値である。
【００３６】
電流制御部２９は、例えば、インバータを含む。電流制御部２９は、トルク制御部２８から出力された電流指令値に応じた電流を、サーボモータ７に供給する。
【００３７】
サーボモータ７は、電流制御部２９から供給された電流により駆動され、駆動対象１１を動作させる。
【００３８】
この結果、サーボ制御部２は、サーボモータ７の位置が、上位コントローラ８から出力された位置指令値に対応した位置となるようにサーボモータ７のトルクを制御する。電流指令値によりサーボモータ７のトルクが制限（リミット）されているので、サーボ制御部２は、例えば、トルク制御部２８から出力される電流指令値の大きさを調整することで、位置指令値に応じた制御を行うことができる。あるいは、サーボ制御部２は、位置制御部２３において位置偏差に乗じられるポジションゲインの大きさを調整することで、位置指令値に応じた制御を行うことができる。
【００３９】
基本制御で動作している際、制動制御部２２は、上位コントローラ８からの停止指令Ｃ１の入力の有無を監視している。また、エラー検出部４４は、例えば外部スケール４３の検出結果等に基づいて特定の事象の発生を検出すると、サーボ制御部２の制動制御部２２に停止指令Ｃ１を出力する。そして、制動制御部２２が、上位コントローラ８及びエラー検出部４４のうち少なくとも一方から停止指令Ｃ１が入力されたことを検知すると、サーボ制御部２は停止制御の動作へと移行する。
【００４０】
（３）停止制御
次に、サーボ制御部２に停止指令Ｃ１が入力された場合のモータ駆動システム１の動作フローについて、図１、図３Ａ、図３Ｂ、図４を参照して説明する。
【００４１】
上位コントローラ８は、搬送機１０を緊急停止する必要があると判断すると、サーボ制御部２の通信部２１に停止指令Ｃ１を出力する。制動制御部２２は、通信部２１から停止指令Ｃ１を取得すると（ステップＳＴ１）、制動範囲を決定し（ステップＳＴ２）、サーボ制御部２に停止指令Ｃ１が入力されてからサーボモータ７が停止するまでの間のサーボモータ７の動作量を決定する（ステップＳＴ３）。ステップＳＴ２の詳細については、後述する。制動制御部２２は、決定したサーボモータ７の動作量に応じた位置指令値を生成して出力する（ステップＳＴ４）。サーボ制御部２は、制動制御部２２で生成された位置指令値に基づいてサーボモータ７を制御する。これにより、サーボ制御部２は、サーボモータ７の位置が、制動制御部２２で生成された位置指令値に対応した位置となるようにサーボモータ７のトルクを制御し（ステップＳＴ５）、最終的にサーボモータ７を停止させる（図３Ｂ参照）。この際にサーボ制御部２がサーボモータ７を制御するフローは、「（２）基本制御」における上位コントローラ８からの位置指令値が制動制御部２２で生成された位置指令値に置き換わる以外は、「（２）基本制御」の内容と同じなので、説明を省略する。
【００４２】
上位コントローラ８は、停止指令Ｃ１を出力した後も停止指令Ｃ１の出力を継続する。このとき、制動制御部２２は、最初に取得した停止指令Ｃ１によって既にサーボ制御部２を停止制御へと移行している。そこで、制動制御部２２は、サーボモータ７が停止するまでの間で、２回目以降に取得された停止指令Ｃ１を受付けない。なお、制動制御部２２は、サーボモータ７が停止するまでの間で、２回目以降に取得された停止指令Ｃ１を受付けない構成に限られず、２回目以降に取得された停止指令Ｃ１も受付けても良い。この場合、制動制御部２２は２回目以降も停止指令Ｃ１を取得する度に、都度サーボモータ７の動作量に応じた位置指令値を生成する。また、上位コントローラ８は、規定回数の停止指令Ｃ１を出力した後、停止指令Ｃ１の出力を停止する構成としてもよい。あるいは、上位コントローラ８は、通信部２１からＡＣＫ（停止指令Ｃ１を受付けた旨の応答信号）を受信した際に、停止指令Ｃ１の出力を停止する構成としてもよい。
【００４３】
また、エラー検出部４４は、特定の事象の発生を検出すると、サーボ制御部２の制動制御部２２に停止指令Ｃ１を出力する。この場合も、制動制御部２２は、位置指令値を生成し、サーボ制御部２は、制動制御部２２で生成された位置指令値に基づいてサーボモータ７を停止させる。制動制御部２２に停止指令Ｃ１が入力された後、サーボ制御部２は、上位コントローラ８から新たな位置指令の入力があっても、この位置指令に応じた基本制御の動作は行わない。このように、モータ駆動システム１がエラー検出部４４を備えていることによって、上位コントローラ８からの停止指令Ｃ１によらずにモータ駆動システム１が単体でサーボモータ７を停止させることができる。
【００４４】
エラー検出部４４が停止指令Ｃ１を生成した後で、特定の事象が解消された場合であっても、サーボ制御部２は停止制御を継続する。すなわち、特定の事象が解消された場合であってもサーボモータ７の動作は停止する。この際に、エラー検出部４４が生成した停止指令Ｃ１は、通信部２１などを介して上位コントローラ８へと送信される。上位コントローラ８は、サーボ制御部２から停止指令Ｃ１を取得した場合、サーボ制御部２への位置指令の出力を停止する。そして、たとえば搬送機１０を管理する管理者などが、搬送機１０の安全の確認及び異常のないことの確認をした後に、管理者が上位コントローラ８などを操作して、サーボ制御部２への位置指令の出力を再開させる。これにより、搬送機１０の動作が再開する。すなわち、サーボ制御部２は、上位コントローラ８から出力された新たな位置指令に基づいた基本制御の動作を再開する。
【００４５】
上述の通り、特定の事象は、例えば、駆動対象１１の進路に障害物が存在すること等である。この場合、障害物は、移動していても良いし、静止していてもよい。いずれにせよ、エラー検出部４４は、外部スケール４３によって障害物を検知された時点で、停止指令Ｃ１を出力する。たとえば駆動対象１１の進路に障害物が存在しなくなった場合、エラー検出部４４は、停止指令Ｃ１の生成を終了する。
【００４６】
ところで、制動制御部２２は、ある程度の幅を持たせてサーボモータ７の動作量を決定する。すなわち、制動制御部２２は、所定の範囲である制動範囲を決定し（ステップＳＴ２）、最終的に、サーボ制御部２に停止指令Ｃ１が入力されてからサーボモータ７が停止するまでのサーボモータ７の動作量を、制動範囲内の値に決定する（ステップＳＴ３）。そして、サーボ制御部２は、サーボ制御部２に停止指令Ｃ１が入力されてからサーボモータ７が停止するまでの間のサーボモータ７の動作量が、制動制御部２２で決定された制動範囲内となるようにサーボモータ７を停止させる制御を行う。
【００４７】
制動制御部２２は、サーボモータ７が駆動する駆動対象１１の位置に関する情報を取得する。制動制御部２２は、この情報に基づいて、制動範囲を決定する。駆動対象１１の位置に関する情報は、例えば、駆動対象１１の進路に存在する物体９（障害物等）の座標、駆動対象１１の座標、駆動対象１１の進路に存在する物体９と駆動対象１１との間の距離Ｌ１、及び、駆動対象１１の進路に侵入禁止エリアが存在するか否かなどの情報である。本実施形態では、制動制御部２２は、駆動対象１１の位置に関する情報として、駆動対象１１の進路に存在する物体９と駆動対象１１との間の距離Ｌ１を用いる。また、図３Ａ、図３Ｂに示す例では、物体９は壁である。図３Ａでは、駆動対象１１（搬送機１０）の進行方向は紙面右である（図３Ａの矢印１１０参照）。制動制御部２２は、外部スケール４３で検出された距離Ｌ１を、外部スケール４３から取得する。制動制御部２２は、距離Ｌ１をリアルタイムで取得する。つまり、制動制御部２２は、所定の時間間隔で外部スケール４３から距離Ｌ１を取得する。
【００４８】
このように、外部スケール４３は、駆動対象１１の位置に関する情報を検出するセンサとして用いられる。制動制御部２２は、外部スケール４３の出力に基づいて、制動範囲を決定する。本実施形態の外部スケール４３は、停止指令Ｃ１が入力される前後において駆動対象１１の位置に関する情報を検出する。しかし、外部スケール４３は、停止指令Ｃ１が入力される前にのみ駆動対象１１の位置に関する情報を検出してもよいし、停止指令Ｃ１が入力された後にのみ駆動対象１１の位置に関する情報を検出してもよい。
【００４９】
制動制御部２２は、制動範囲を、駆動対象１１が所定のエリアＲ２に侵入しない範囲に決定する。本実施形態では、所定のエリアＲ２は、駆動対象１１の進路に存在する物体９から所定の距離以内のエリアである。要するに、モータ駆動システム１は、駆動対象１１が物体９から所定の距離以上離れた位置で停止するようにサーボモータ７の動作を制御する。
【００５０】
本実施形態では、説明の便宜上、制動制御部２２が駆動対象１１の停止エリアＲ１を決定するとして説明する。制動制御部２２は、停止エリアＲ１に対応する制動範囲を決定する。そして、制動制御部２２は、サーボモータ７が停止するまでの間のサーボモータ７の動作量を、制動範囲内の値に決定する。すなわち、制動制御部２２は、駆動対象１１のうち特定の位置（例えば、駆動対象１１の進行方向における先端１１１）が停止エリアＲ１内にある状態でサーボモータ７を停止させるような位置指令値を生成し、サーボ制御部２は、この位置指令値に応じてサーボモータ７の動作を制御する。ただし、制動制御部２２は、停止エリアＲ１を決定することなく制動範囲を決定してもよい。なお、以下の説明において、駆動対象１１の座標とは、先端１１１の座標を指す。
【００５１】
制動制御部２２は、外部スケール４３から取得した、物体９と駆動対象１１との間の距離Ｌ１に基づいて、停止エリアＲ１を、停止指令Ｃ１が入力されたときの駆動対象１１から見て所定のエリアＲ２よりも手前のエリアに決定する。本実施形態では、停止エリアＲ１のうち物体９側（図３Ａの紙面右側）の境界と、所定のエリアＲ２のうち物体９側とは反対側（図３Ａの紙面左側）の境界とは、重なっている。
【００５２】
制動制御部２２は、停止指令Ｃ１が入力された後のサーボモータ７の加速度の時間変化のパターンを決定する。つまり、上記パターンは、停止指令Ｃ１に含まれている情報により決定されるのではなく、制動制御部２２により決定されるので、上位コントローラ８は、上記パターンを指示する信号を制動制御部２２に与えなくてよい。上記パターンは、例えば、図５に示すようにサーボモータ７の加速度を一定の加速度に保つというパターン、又は、図６Ｂに示すようにサーボモータ７の加速度を連続的に変化させるというパターンである。制動制御部２２は、決定した上記パターンに応じた位置指令値を生成する。ここでは、サーボモータ７の速度を増加させる向きの加速度を正の加速度とし、サーボモータ７の速度を減少させる向きの加速度を負の加速度とする。本実施形態では、停止指令Ｃ１が入力された後のサーボモータ７の加速度は常に０以下となるが、サーボモータ７の加速度が一時的に０を超えてもよい。
【００５３】
図５に、サーボモータ７の速度及び加速度と、駆動対象１１の進行方向に沿った座標軸における駆動対象１１の座標と、時間との関係の一例を図示する。時点Ｔ１は、停止指令Ｃ１が入力された時点であり、時点Ｔ２は、サーボモータ７が停止した時点である。座標ｕ１は、時点Ｔ１における駆動対象１１の座標、座標ｕ２は、時点Ｔ２における駆動対象１１の座標である。座標ｕ３は、物体９の座標である。座標ｒ１は、停止エリアＲ１のうち物体９から遠い側の境界の座標、座標ｒ２は、停止エリアＲ１のうち物体９に近い側の境界の座標である。移動距離Ｌ２は、停止指令Ｃ１が入力されてからサーボモータ７が停止するまでの間の駆動対象１１の移動距離である。ここでは、時点Ｔ１よりも前の時点においては、サーボモータ７は一定速度で動いており、サーボモータ７の加速度は０とする。
【００５４】
図１に示す制動制御部２２は、サーボモータ７の動作量が制動範囲の上限を超過しない範囲で、停止指令Ｃ１が入力された後のサーボモータ７の加速度（減速度）の時間変化のパターンを決定する。ここで、制動範囲の上限とは、制動範囲のうち駆動対象１１の移動量（サーボモータ７の動作量）が最も大きい場合に対応する値である。つまり、制動制御部２２は、搬送機１０が、停止エリアＲ１のうち物体９に近い側の境界の座標ｒ２を超えて物体９に近づかないように、上記パターンを決定する。これにより、駆動対象１１が物体９に衝突する可能性を低減できる。
【００５５】
本実施形態では、制動制御部２２は、停止指令Ｃ１が入力されてからサーボモータ７が停止するまでの間、サーボモータ７の加速度を一定に保つように、上記パターンを決定する。つまり、サーボモータ７は一定の減速度で減速される。ここで、制動制御部２２は、サーボモータ７の減速度の大きさとして、駆動対象１１が座標ｒ２を超えて物体９に近づくまでにサーボモータ７が停止するような値を算出する。
【００５６】
また、制動制御部２２は、サーボモータ７の加速度の絶対値（減速度）が所定の値（下限値）を下回らない範囲で、上記パターンを決定する。したがって、サーボモータ７は、停止指令Ｃ１が入力された時点Ｔ１における駆動対象１１と物体９との間の距離Ｌ１に関わらず、常に上記所定の値以上の減速度で減速される。
【００５７】
上述の通り、制動制御部２２は、制動範囲（停止エリアＲ１）を、駆動対象１１が所定のエリアＲ２に侵入しない範囲に決定する。ここで、所定のエリアＲ２は、物体９の有無とは無関係に決定されたエリアでもよい。例えば、所定のエリアＲ２は、予め設定された進入禁止エリアであってもよい。進入禁止エリアの位置に関する情報は、例えば、モータ駆動システム１のメモリに予め記憶されていればよい。
【００５８】
また、制動制御部２２は、駆動対象１１の進路に物体９及び進入禁止エリアが存在しない場合には、停止指令Ｃ１が入力された後のサーボモータ７の加速度の時間変化のパターンを、予め決められたパターンにする。予め決められたパターンは、例えば、加速度の絶対値（減速度）を上記所定の値（下限値）に保つというパターンであって、モータ駆動システム１のメモリに予め記憶されている。
【００５９】
また、制動制御部２２は、制動範囲を決定するためのパラメータの入力を受け付ける。パラメータは、例えば、停止エリアＲ１の大きさを決定するためのパラメータ、及び、所定のエリアＲ２の大きさ（すなわち、物体９から停止エリアＲ１までの間の距離）を決定するためのパラメータのうち少なくとも一方を含む。パラメータは、例えば、上位コントローラ８から通信部２１を介して制動制御部２２に入力される。なお、パラメータは、上位コントローラ８以外の装置、例えば、サーバ、パーソナルコンピュータ、携帯端末、タブレット端末、又は専用端末からモータ駆動システム１に入力されてもよい。また、モータ駆動システム１は、例えば、作業者の操作によりパラメータを入力するための入力インタフェースを備えていてもよい。
【００６０】
以上説明した本実施形態によれば、駆動対象１１の位置に関する情報に応じて制動範囲（停止エリアＲ１）が決定される。したがって、停止指令Ｃ１が入力されてからサーボモータ７が停止するまでの間のサーボモータ７の動作量が不必要に長く又は短くなる可能性を低減できる。
【００６１】
ここで、本実施形態との比較例として、サーボ制御部２に停止指令Ｃ１が入力された場合に、駆動対象１１の位置に依らず、予め決められた一定の減速度（負の加速度）でサーボモータ７を停止させるような例を想定する。例えば、停止指令Ｃ１が入力された際に駆動対象１１から駆動対象１１の進路にある物体９までの距離Ｌ１が１０ｍであるとする。この場合に、上記比較例では、予め決められた一定の減速度（負の加速度）でサーボモータ７を減速して、例えば、距離Ｌ１が５ｍとなる位置で駆動対象１１を停止させることになる。これに対して、本実施形態では、制動制御部２２は、例えば、停止指令Ｃ１が入力された際に駆動対象１１から駆動対象１１の進路にある物体９までの距離Ｌ１が十分長いと判断して、上記比較例よりも小さい減速度でサーボモータ７を減速して、距離Ｌ１が２ｍとなる位置で駆動対象１１を停止させることができる。本実施形態では、減速度を小さくすることにより、サーボモータ７に掛かる負担を低減できる。また、搬送機１０の減速時に、搬送機１０によって搬送される被搬送物（物品１２）の位置が移動したり、搬送機１０から落下したりすることなどの発生を抑制できることがある。
【００６２】
また、例えば、停止指令Ｃ１が入力された際に駆動対象１１から駆動対象１１の進路にある物体９までの距離Ｌ１が４ｍであるとする。この場合に、上記比較例では、予め決められた一定の減速度（負の加速度）でサーボモータ７を減速するが、駆動対象１１が停止するまでには５ｍを要するので、駆動対象１１が物体９に衝突することになる。これに対して、本実施形態では、制動制御部２２は、駆動対象１１が物体９と衝突することを回避できるように、上記比較例よりも大きい減速度でサーボモータ７を減速して、例えば、距離Ｌ１が１ｍとなる位置で駆動対象１１を停止させることができる。
【００６３】
このように、本実施形態によれば、サーボモータ７を停止する制御の適正化を図ることができる。
【００６４】
（変形例１）
以下、実施形態の変形例１について、図６Ａ、図６Ｂを用いて説明する。実施形態と同様の構成については、同一の符号を付して説明を省略する。
【００６５】
本変形例１において、制動制御部２２は、サーボモータ７の加速度が連続的に変化するように、停止指令Ｃ１が入力された後のサーボモータ７の加速度の時間変化のパターンを決定する機能を有する。より詳細には、制動制御部２２は、次のように上記パターンを決定する。図６Ａに示すように、停止指令Ｃ１が入力されてからサーボモータ７を一定の加速度で駆動し続けて、制動範囲の上限でサーボモータ７を停止させたと仮定する。制動制御部２２は、この仮定において、上記一定の加速度（負の値）の絶対値が閾値Ｔｈ１を下回る場合に、図６Ｂに示すように、サーボモータ７の加速度が連続的に変化するように、上記パターンを決定する。一方で、制動制御部２２は、上記一定の加速度の絶対値が閾値Ｔｈ１を上回る場合及び閾値Ｔｈ１と一致する場合に、図６Ａに示すように、サーボモータ７の加速度を上記一定の加速度に保つように、上記パターンを決定する。つまり、この場合は、サーボモータ７は上記一定の加速度で減速される。
【００６６】
図６Ａは、停止指令Ｃ１が入力された時点Ｔ１からサーボモータ７を一定の加速度で駆動し続ける場合のサーボモータ７の加速度及び速度の時間変化を表す。時点Ｔ２においてサーボモータ７は停止し、このとき、停止指令Ｃ１が入力されてからのサーボモータ７の移動量は、制動範囲の上限に達しているとする。つまり、サーボモータ７の停止時の駆動対象１１の座標は、停止エリアＲ１のうち物体９に近い側の境界の座標ｒ２（図５参照）に一致する。
【００６７】
制動制御部２２は、停止指令Ｃ１が入力されると、上記一定の加速度の絶対値が閾値Ｔｈ１を下回るか否かを演算により求める。閾値Ｔｈ１は、例えば、モータ駆動システム１のメモリに予め記憶されていればよい。制動制御部２２は、上記一定の加速度の絶対値が閾値Ｔｈ１を上回る場合及び閾値Ｔｈ１と一致する場合は、サーボモータ７の加速度を上記一定の加速度に保つように、上記パターンを決定し、このパターンに応じた位置指令値を生成する。そのため、サーボ制御部２は、図６Ａに示すような速度及び加速度でサーボモータ７を停止させるように、サーボモータ７を制御する。
【００６８】
一方、制動制御部２２は、上記一定の加速度の絶対値が閾値Ｔｈ１を下回る場合は、サーボモータ７の加速度の時間変化のパターンを、図６Ｂに示すようなパターンに決定する。図６Ｂでは、サーボモータ７の加速度が連続的に変化している。より詳細には、サーボモータ７の加速度の絶対値は、時点Ｔ１から徐々に増加し、その後徐々に減少して、時点Ｔ２で０となる。これにより、時点Ｔ１から時点Ｔ２にかけて、サーボモータ７の加速度は、図６Ｂにおいて円弧を描くように増減する。加速度のこのような時間変化により、サーボモータ７の速度の時間変化は、図６ＢにおいてＳ字状となる。
【００６９】
このようにサーボモータ７の加速度が連続的に変化することで、サーボモータ７に掛かる負担を低減できることがある。また、加速度が連続的に変化することで、搬送機１０から、搬送機１０が搬送している物品１２が脱落する可能性を低減できることがある。
【００７０】
図６Ｂにおいて、制動制御部２２は、停止指令Ｃ１が入力された時点Ｔ１からサーボモータ７が停止する時点Ｔ２までのサーボモータ７の移動量が制動範囲内となるような位置指令値を生成する。これにより、駆動対象１１が物体９に衝突することを抑制しつつ、サーボモータ７の加速度を連続的に変化させる制御を実現できる。実際には、制動制御部２２は、時点Ｔ１から時点Ｔ２までのサーボモータ７の移動量が制動範囲の上限となるような位置指令値を生成する。つまり、サーボモータ７の停止時の駆動対象１１の座標は、停止エリアＲ１のうち物体９に近い側の境界の座標ｒ２（図５参照）に一致する。
【００７１】
なお、図６Ａにおいてサーボモータ７が停止する時点Ｔ２と、図６Ｂにおいてサーボモータ７が停止する時点Ｔ２とは、一致していてもよいし、一致していなくてもよい。
【００７２】
また、制動制御部２２は、閾値Ｔｈ１を用いた判定を行うことなく常に、図６Ｂのようにサーボモータ７の加速度が連続的に変化するように、上記パターンを決定してもよい。あるいは、ユーザの操作により、サーボモータ７の加速度の時間変化のパターンを、図６Ｂのようなパターンと、図６Ａのようなパターンとの間で切替え可能であってもよい。
【００７３】
（その他の変形例）
以下、実施形態のその他の変形例を列挙する。以下の変形例は、適宜組み合わせて実現されてもよい。
【００７４】
モータ駆動システム１と同様の機能は、モータ駆動方法、（コンピュータ）プログラム、又はプログラムを記録した非一時的記録媒体等で具現化されてもよい。
【００７５】
一態様に係るモータ駆動方法は、停止ステップと、決定ステップと、を備える。停止ステップは、サーボモータ７を停止させるための停止指令Ｃ１が入力されてからサーボモータ７が停止するまでの間のサーボモータ７の動作量が、所定の範囲である制動範囲内となるようにサーボモータ７を停止させる制御を行う。決定ステップは、サーボモータ７が駆動する駆動対象１１の位置に関する情報に基づいて制動範囲を決定する。
【００７６】
一態様に係るプログラムは、上記のモータ駆動方法を１以上のプロセッサに実行させるためのプログラムである。
【００７７】
本開示におけるモータ駆動システム１は、コンピュータシステムを含んでいる。コンピュータシステムは、ハードウェアとしてのプロセッサ及びメモリを主構成とする。コンピュータシステムのメモリに記録されたプログラムをプロセッサが実行することによって、本開示におけるモータ駆動システム１としての機能が実現される。プログラムは、コンピュータシステムのメモリに予め記録されてもよく、電気通信回線を通じて提供されてもよく、コンピュータシステムで読み取り可能なメモリカード、光学ディスク、ハードディスクドライブ等の非一時的記録媒体に記録されて提供されてもよい。コンピュータシステムのプロセッサは、半導体集積回路（ＩＣ）又は大規模集積回路（ＬＳＩ）を含む１ないし複数の電子回路で構成される。ここでいうＩＣ又はＬＳＩ等の集積回路は、集積の度合いによって呼び方が異なっており、システムＬＳＩ、ＶＬＳＩ（Very Large Scale Integration）、又はＵＬＳＩ（Ultra Large Scale Integration）と呼ばれる集積回路を含む。さらに、ＬＳＩの製造後にプログラムされる、ＦＰＧＡ（Field-Programmable Gate Array）、又はＬＳＩ内部の接合関係の再構成若しくはＬＳＩ内部の回路区画の再構成が可能な論理デバイスについても、プロセッサとして採用することができる。複数の電子回路は、１つのチップに集約されていてもよいし、複数のチップに分散して設けられていてもよい。複数のチップは、１つの装置に集約されていてもよいし、複数の装置に分散して設けられていてもよい。ここでいうコンピュータシステムは、１以上のプロセッサ及び１以上のメモリを有するマイクロコントローラを含む。したがって、マイクロコントローラについても、半導体集積回路又は大規模集積回路を含む１ないし複数の電子回路で構成される。
【００７８】
また、モータ駆動システム１における複数の機能が、１つの筐体内に集約されていることはモータ駆動システム１に必須の構成ではなく、モータ駆動システム１の構成要素は、複数の筐体に分散して設けられていてもよい。さらに、モータ駆動システム１の少なくとも一部の機能がクラウド（クラウドコンピューティング）等によって実現されてもよい。
【００７９】
反対に、実施形態において、複数の装置に分散されているモータ駆動システム１の少なくとも一部の機能が、１つの筐体内に集約されていてもよい。
【００８０】
サーボモータ７は、回転モータに限定されず、リニアモータであってもよい。
【００８１】
駆動対象１１は、搬送機に限定されない。駆動対象１１は、例えば、自動車等の車両、船、航空機、フォークリフト、又は、移動ロボット等の移動体であってもよい。あるいは、駆動対象１１は、移動体以外に、例えば、糸若しくは紙等を巻き取る電動式の巻き取り機、電動ドリル、電動ドライバ、旋盤、又は、電動ポンプのように、駆動対象１１の少なくとも一部が回転運動又は往復運動する装置であってもよい。なお、制動制御部２２は駆動対象１１の位置に関する情報に基づいて制動範囲を決定するが、ここで、駆動対象１１が電動式の巻き取り機の場合は、駆動対象１１の位置とは、例えば、駆動対象１１の回転位置に相当する。回転位置に関する情報は、０〜３６０度の回転角だけではなく、ある時点からの総回転回数を含んでいてもよい。
【００８２】
また、制動制御部２２は、サーボモータ７の移動量が制動範囲を超えない範囲内では、サーボモータ７の加速度の絶対値が所定値を超えないように、サーボモータ７の加速度の時間変化のパターンを決定してもよい。
【００８３】
（まとめ）
以上説明した実施形態等から、以下の態様が開示されている。
【００８４】
第１の態様に係るモータ駆動システム１は、サーボモータ７の動作を制御するサーボ制御部２を備える。サーボ制御部２は、サーボモータ７を停止させるための停止指令Ｃ１が入力されてからサーボモータ７が停止するまでの間のサーボモータ７の動作量が、所定の範囲である制動範囲内となるようにサーボモータ７を停止させる制御を行う。サーボ制御部２は、制動制御部２２を有する。制動制御部２２は、サーボモータ７が駆動する駆動対象１１の位置に関する情報に基づいて制動範囲を決定する。
【００８５】
上記の構成によれば、駆動対象１１の位置に関する情報に応じて制動範囲が決定されるので、停止指令Ｃ１が入力されてからサーボモータ７が停止するまでの間のサーボモータ７の動作量が不必要に長く又は短くなる可能性を低減できる。
【００８６】
また、第２の態様に係るモータ駆動システム１では、第１の態様において、制動制御部２２は、制動範囲を決定するためのパラメータの入力を受け付ける。
【００８７】
上記の構成によれば、制動制御部２２にパラメータを入力することにより、制動範囲を調整できる。
【００８８】
また、第３の態様に係るモータ駆動システム１では、第１又は２の態様において、制動制御部２２は、センサ（外部スケール４３）の出力に基づいて、制動範囲を決定する。センサは、停止指令Ｃ１が入力された後に駆動対象１１の位置に関する情報を検出する。
【００８９】
上記の構成によれば、センサ（外部スケール４３）を用いることで、駆動対象１１の位置に関するより詳細な情報を得られる。
【００９０】
また、第４の態様に係るモータ駆動システム１では、第１〜３の態様のいずれか１つにおいて、サーボモータ７は、駆動対象１１を移動させる。制動制御部２２は、制動範囲を、駆動対象１１が所定のエリアＲ２に侵入しない範囲に決定する。
【００９１】
上記の構成によれば、駆動対象１１が所定のエリアＲ２に侵入する可能性を低減できる。
【００９２】
また、第５の態様に係るモータ駆動システム１では、第１〜４の態様のいずれか１つにおいて、制動制御部２２は、停止指令Ｃ１が入力された後のサーボモータ７の加速度の時間変化のパターンを決定する。
【００９３】
上記の構成によれば、サーボモータ７の加速度の時間変化のパターンを指示する信号を制動制御部２２に与えなくてよいので、制動制御部２２の制御に要する処理を減らせる。
【００９４】
また、第６の態様に係るモータ駆動システム１では、第５の態様において、制動制御部２２は、サーボモータ７の動作量が制動範囲の上限を超過しない範囲で、停止指令Ｃ１が入力された後のサーボモータ７の加速度の時間変化のパターンを決定する。
【００９５】
上記の構成によれば、サーボモータ７が制動範囲の上限を超えて動作する可能性を低減できる。
【００９６】
また、第７の態様に係るモータ駆動システム１では、第５又は６の態様において、制動制御部２２は、サーボモータ７の加速度の絶対値が所定の加速度を下回らない範囲で、停止指令Ｃ１が入力された後のサーボモータ７の加速度の時間変化のパターンを決定する。
【００９７】
上記の構成によれば、サーボモータ７の加速度の絶対値が所定の加速度を下回る場合と比較して、サーボモータ７を早く停止させることができる。
【００９８】
また、第８の態様に係るモータ駆動システム１では、第５〜７の態様のいずれか１つにおいて、制動制御部２２は、サーボモータ７の加速度が連続的に変化するように、停止指令Ｃ１が入力された後のサーボモータ７の加速度の時間変化のパターンを決定する機能を有する。
【００９９】
上記の構成によれば、サーボモータ７の加速度が非連続的に変化する場合と比較して、サーボモータ７に掛かる負担を低減できる。
【０１００】
また、第９の態様に係るモータ駆動システム１では、第１〜８の態様のいずれか１つにおいて、サーボ制御部２は、通信部２１を有する。通信部２１は、上位コントローラ８と通信する。上位コントローラ８は、停止指令Ｃ１を含む指令をサーボ制御部２に出力する。
【０１０１】
上記の構成によれば、上位コントローラ８によりサーボ制御部２を制御できる。
【０１０２】
また、第１０の態様に係るモータ駆動システム１は、第１〜９の態様のいずれか１つにおいて、エラー検出部４４を更に備える。エラー検出部４４は、特定の事象の発生を検出するとサーボ制御部２に停止指令Ｃ１を出力する。
【０１０３】
上記の構成によれば、特定の事象が発生した場合にサーボモータ７を停止させることができる。また、上位コントローラ８からの停止指令Ｃ１の入力を待つことなく、モータ駆動システム１内でサーボモータ７を停止する判断ができるので、素早く停止動作を行うことができる。
【０１０４】
また、第１１の態様に係るモータ駆動システム１は、第１〜１０の態様のいずれか１つにおいて、サーボモータ７を更に備える。
【０１０５】
上記の構成によれば、サーボモータ７を一体に備えたモータ駆動システム１を提供できる。
【０１０６】
第１の態様以外の構成については、モータ駆動システム１に必須の構成ではなく、適宜省略可能である。
【０１０７】
また、第１２の態様に係るモータ駆動方法は、停止ステップと、決定ステップと、を備える。停止ステップは、サーボモータ７を停止させるための停止指令Ｃ１が入力されてからサーボモータ７が停止するまでの間のサーボモータ７の動作量が、所定の範囲である制動範囲内となるようにサーボモータ７を停止させる制御を行う。決定ステップは、サーボモータ７が駆動する駆動対象１１の位置に関する情報に基づいて制動範囲を決定する。
【０１０８】
上記の構成によれば、駆動対象１１の位置に関する情報に応じて制動範囲が決定されるので、停止指令Ｃ１が入力されてからサーボモータ７が停止するまでの間のサーボモータ７の動作量が不必要に長く又は短くなる可能性を低減できる。
【０１０９】
また、第１３の態様に係るプログラムは、第１２の態様に係るモータ駆動方法を、１以上のプロセッサに実行させる。
【０１１０】
上記の構成によれば、駆動対象１１の位置に関する情報に応じて制動範囲が決定されるので、停止指令Ｃ１が入力されてからサーボモータ７が停止するまでの間のサーボモータ７の動作量が不必要に長く又は短くなる可能性を低減できる。
【０１１１】
上記態様に限らず、実施形態に係るモータ駆動システム１の種々の構成（変形例を含む）は、モータ駆動方法及びプログラムにて具現化可能である。
【符号の説明】
【０１１２】
１  モータ駆動システム
１１  駆動対象
２  サーボ制御部
２１  通信部
２２  制動制御部
４３外部スケール（センサ）
４４  エラー検出部
７  サーボモータ
８  上位コントローラ
Ｃ１  停止指令
Ｒ２  所定のエリア
Ｔｈ１  閾値
【図１】
2020174467.tif 000003
【図２】
2020174467.tif 000004
【図３】
2020174467.tif 000005
【図４】
2020174467.tif 000006
【図５】
2020174467.tif 000007
【図６】
2020174467.tif 000008