(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022184308
(43)【公開日】2022-12-13
(54)【発明の名称】ロボット制御装置
(51)【国際特許分類】
B25J 19/06 20060101AFI20221206BHJP
G01D 5/244 20060101ALI20221206BHJP
【FI】
B25J19/06
G01D5/244 E
【審査請求】未請求
【請求項の数】3
【出願形態】OL
(21)【出願番号】P 2021092077
(22)【出願日】2021-06-01
(71)【出願人】
【識別番号】000005197
【氏名又は名称】株式会社不二越
(74)【代理人】
【識別番号】100120400
【弁理士】
【氏名又は名称】飛田 高介
(74)【代理人】
【識別番号】100124110
【弁理士】
【氏名又は名称】鈴木 大介
(72)【発明者】
【氏名】吉田 高志
(72)【発明者】
【氏名】岡田 厚志
(72)【発明者】
【氏名】酒井 竜児
(72)【発明者】
【氏名】川田 進也
【テーマコード(参考)】
2F077
3C707
【Fターム(参考)】
2F077AA24
2F077TT66
3C707HS27
3C707KV01
3C707MS24
(57)【要約】
【課題】バッテリレスでエンコーダ値を記憶すると共に、エンコーダ値を不揮発性メモリに保存中に電源遮断が発生したとしても、再起動の際に適切なエンコーダ値を取得することが可能なロボット制御装置を提供する。
【解決手段】エンコーダ値を常時保存するロボット制御装置100において、ロボット102の動作を制御する制御部110と、関節102aを駆動するモータの回転量を検出するエンコーダ120と、エンコーダのエンコーダ値を保存する不揮発性メモリ130と、を備え、不揮発性メモリは、第1バッファ132および第1ステータス領域134と、第2バッファ136および第2ステータス領域138とを有し、制御部110は、第1バッファ132と第2バッファ136との交互にエンコーダ値を書き込むとともに、エンコーダ値を書き込んだバッファに対応するステータス領域に書き込み状態の情報を格納する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
エンコーダ値を常時保存するロボット制御装置において、
ロボットの動作を制御する制御部と、
前記ロボットの関節を駆動するモータの回転量を検出するエンコーダと、
前記エンコーダのエンコーダ値を保存する不揮発性メモリと、
を備え、
前記不揮発性メモリは、第1バッファおよび第1ステータス領域と、第2バッファおよび第2ステータス領域とを有し、
前記制御部は、前記第1バッファと前記第2バッファとの交互に前記エンコーダ値を書き込むとともに、該エンコーダ値を書き込んだバッファに対応するステータス領域に書き込み状態の情報を格納することを特徴とするロボット制御装置。
【請求項2】
前記制御部は、前記第1バッファと前記第2バッファとのいずれか一方のバッファに前記エンコーダ値の書き込みが完了したら、他方のバッファのステータス領域に無効のステータスを格納することを特徴する請求項1に記載のロボット制御装置。
【請求項3】
前記制御部は、前記第1バッファと前記第2バッファとのいずれか一方のバッファにエンコーダ値を書き込む際に、
前記一方のバッファのステータス領域に更新のステータスを格納し、
前記一方のバッファにエンコーダ値を書き込み、
前記他方のバッファのステータス領域に無効のステータスを格納し、
前記一方のバッファのステータス領域に完了のステータスを格納することを特徴する請求項1または2に記載のロボット制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、バッテリレスでエンコーダ値を記憶するロボット制御装置に関する。
【背景技術】
【0002】
産業用ロボットにおいて、例えばロボットアーム等の装置が用いられている。ロボットアームにおける関節を駆動するモータのエンコーダ値の多回転データは電源断時にも記憶する必要がある。従来技術として、バッテリ型と不揮発性メモリ型がある。
【0003】
特許文献1には、従来技術として、外部にバックアップ電池を設けて絶対値エンコーダに給電し、停電や電源遮断中に外力などにてエンコーダが回転した場合でも1回転内の絶対角度の検出を可能とし、多回転量の保持も行う構成が記載されている。
【0004】
そして特許文献1に発明として記載されたモータ制御方法においては、バッテリによってエンコーダを継続的に動作させるのではなく、電源断を検出する電圧検出部とコンデンサとを備えている。そして電圧検出部で電源断を検出後、制御回路がコンデンサの電荷で動作してエンコーダ値を不揮発性メモリに書き込んで記憶する。これによりバックアップ電池を必要としない絶対値エンコーダを提供し、停電や電源遮断後の次回電源投入時における原点復帰動作を不要とする各種産業用機器を提供できると述べている。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1に記載のモータ制御方法においては、バッテリは不要になるものの、なお電圧検出部とコンデンサを必要としている。すると製造コストや回路の面積で不利となると共に、温度や経年劣化の影響を受ける。また、電源遮断時にコンデンサから供給される電力に頼って動作するため、持続時間が不安定であり、不揮発性メモリヘデータを格納中に電源が落ちてしまうおそれがある。
【0007】
本発明は、このような課題に鑑み、バッテリレスでエンコーダ値を記憶すると共に、エンコーダ値を不揮発性メモリに保存中に電源遮断が発生したとしても、再起動の際に適切なエンコーダ値を取得することが可能なロボット制御装置を提供することを目的としている。
【課題を解決するための手段】
【0008】
上記課題を解決するために、本発明の代表的な構成は、エンコーダ値を常時保存するロボット制御装置において、ロボットの動作を制御する制御部と、ロボットの関節を駆動するモータの回転量を検出するエンコーダと、エンコーダのエンコーダ値を保存する不揮発性メモリと、を備え、不揮発性メモリは、第1バッファおよび第1ステータス領域と、第2バッファおよび第2ステータス領域とを有し、制御部は、第1バッファと第2バッファとの交互にエンコーダ値を書き込むとともに、エンコーダ値を書き込んだバッファに対応するステータス領域に書き込み状態の情報を格納することを特徴とする。
【0009】
上記構成によれば、第1バッファと第2バッファとのいずれか一方には、直近のエンコーダ値(モータの回転量)が書き込まれる。そしてかかるエンコーダ値には、書き込み状態の情報が紐づけされる。これにより、第1バッファまたは第2バッファに書き込み途中でロボットの電源が落ちた場合等のエンコーダ値には、書き込みが完了したというステータスは格納されていない。したがって、書き込み中に電源遮断が発生したとしても、制御装置の再起動時に、ステータス領域に書き込まれたステータスにより、第1バッファまたは第2バッファに書き込まれた適切なエンコーダ値を取得することができ、書き込みが完了していないステータスの情報のエンコーダ値を適用しないことが可能となる。
【0010】
上記制御部は、第1バッファと第2バッファとのいずれか一方のバッファにエンコーダ値の書き込みが完了したら、他方のバッファのステータス領域に無効のステータスを格納するとよい。かかる構成によれば、一方のバッファにおけるエンコーダ値の書き込みが完了したら、他方のバッファにおけるエンコーダ値は無効化される。これにより、制御部において常に正確なエンコーダ値を採用し、ロボットを適切に制御することが可能となる。
【0011】
上記制御部は、第1バッファと第2バッファとのいずれか一方のバッファにエンコーダ値を書き込む際に、一方のバッファのステータス領域に更新のステータスを格納し、一方のバッファにエンコーダ値を書き込み、他方のバッファのステータス領域に無効のステータスを格納し、一方のバッファのステータス領域に完了のステータスを格納するとよい。これにより、一方のバッファにおいてエンコーダ値の更新がされた後に、他方のバッファにおけるエンコーダ値が無効にされる。したがって、常に一方のバッファにおいて最新の正確なエンコーダ値を記憶することが可能となる。
【発明の効果】
【0012】
本発明によれば、バッテリレスでエンコーダ値を記憶すると共に、エンコーダ値を不揮発性メモリに保存中に電源遮断が発生したとしても、再起動の際に適切なエンコーダ値を取得することが可能なロボット制御装置を提供することができる。
【図面の簡単な説明】
【0013】
【
図1】本実施形態にかかるロボット制御装置の全体構成を説明する図である。
【
図2】本実施形態にかかるロボット制御装置の動作を説明するフローチャートである。
【
図3】バッファの書き換え時のステータスを説明する図である。
【発明を実施するための形態】
【0014】
以下に添付図面を参照しながら、本発明の好適な実施形態について詳細に説明する。かかる実施形態に示す寸法、材料、その他具体的な数値などは、発明の理解を容易とするための例示に過ぎず、特に断る場合を除き、本発明を限定するものではない。なお、本明細書及び図面において、実質的に同一の機能、構成を有する要素については、同一の符号を付することにより重複説明を省略し、また本発明に直接関係のない要素は図示を省略する。
【0015】
図1は、本実施形態にかかるロボット制御装置100の全体構成を説明する図である。
図1に示すロボット制御装置100は、モータの回転量(多回転データ/1回転データ)を取得することができるエンコーダ120(アブソリュートエンコーダ)を備えるロボット102を制御する。
図1に示すように、ロボット制御装置100は、制御部110と、ロボット102の関節102aを駆動するモータに取り付けられたエンコーダ120と、不揮発性メモリ130とを含んで主要部が構成される。不揮発性メモリ130には、常時エンコーダ値が書き込まれるため、書き込み回数制限のないものが必要であり、例えばFRAM(登録商標)(Ferroelectric Random Access Memory:強誘電体メモリ)、MRAM(Magnetoresistive Random Access Memory:磁気抵抗メモリ)などを好適に採用することができる。
【0016】
制御部110は、ロボット102の動作を制御する。不揮発性メモリ130は、エンコーダ120のエンコーダ値を保存する。本実施形態の不揮発性メモリ130はダブルバッファである。第1バッファ132にエンコーダ値が書き込まれ、第1ステータス領域134に第1バッファ132に書き込まれたエンコーダ値のステータス(書き込み状態の情報)が格納される。同様に、第2バッファ136にエンコーダ値が書き込まれ、第2ステータス領域138に第2バッファ136に書き込まれたエンコーダ値のステータス(書き込み状態の情報)が格納される。これを交互に繰り返すことにより、エンコーダ値が不揮発性メモリに常時保存される。
【0017】
図2は、本実施形態にかかるロボット制御装置100の動作を説明するフローチャートである。
図2では、第1バッファ、第2バッファの順にエンコーダ値を交互に書き換える場合を例示する。
図3は、バッファの書き換え時のステータスを説明する図である。
図3において縁にハッチングを付しているセルは、その領域に書き込みを行っていることを意味している。
【0018】
図3のT1に示すように、第1バッファ132のエンコーダ値を書き換える場合の初期状態として、第2バッファ136のエンコーダ値に対しては、第2ステータス領域138に「完了」のステータスが格納されている。一方、第1バッファ132のエンコーダ値に対しては、第1ステータス領域134に「無効」のステータスが格納されている。この時点では、第2バッファ136のエンコーダ値が有効となる。
【0019】
第1バッファ132のエンコーダ値を書き換える(最新のデータとする)際には、まず制御部110は、
図2に示すようにエンコーダ120によって検出したモータの回転量をエンコーダ値として取得する(S202)。そして制御部110は、第1ステータス領域134のステータスを「更新」とし(S204)(
図3のT2)、S202において取得したエンコーダ値を第1バッファ132に書き込む(S206)(
図3のT3)。このとき、第1ステータス領域134には「更新」のステータスが格納され、第2ステータス領域138のステータスが「完了」であるため、まだ第2バッファ136のエンコーダ値が有効である。
【0020】
第1バッファ132へのエンコーダ値の書き込みが完了したら、制御部110は、第2ステータス領域138に「無効」のステータスを格納する(S208)。これにより、
図3のT4に示すように、第1ステータス領域134は「更新」のステータスが格納されていて、第2ステータス領域138には「無効」のステータスが格納された状態となる。このとき、第2ステータス領域138のステータスが「無効」であるため、第1バッファ132のエンコーダ値が有効となる。
【0021】
次に制御部110は、第1ステータス領域134に「完了」のステータスを格納する(S210)。これにより、第1バッファ132のエンコーダ値の書き込みが完了したという状態が確定し、
図3のT5に示すように第1バッファ132のエンコーダ値が有効のままである。
【0022】
第1バッファ132のエンコーダ値の書き込みが完了したら、制御部110は第2バッファ136のエンコーダ値の書き換えを行う。第2バッファ136のエンコーダ値を書き換える場合の初期状態として、第1ステータス領域134には有効のステータスが格納されていて、第2ステータス領域138には「無効」のステータスが格納されている(
図3のT6)。
【0023】
第2バッファ136のエンコーダ値を書き換える際には、制御部110は、S202と同様にエンコーダ値を取得する(S212)。そして制御部110は、第2ステータス領域138のステータスを「更新」とし(S214)(
図3のT7)、S212において取得したエンコーダ値を第2バッファ136に書き込む(S216)(
図3のT8)。このとき、第1ステータス領域134のステータスが「完了」であるため、まだ第1バッファ132のエンコーダ値が有効である。
【0024】
第2バッファ136へのエンコーダ値の書き込みが完了したら、制御部110は、第1ステータス領域134に「無効」のステータスを格納する(S218)。これにより、
図3のT9に示すように、第2ステータス領域138は「更新」のステータスが格納されていて、第1ステータス領域134には「無効」のステータスが格納されているため、第2バッファ136のエンコーダ値が有効となる。
【0025】
次に制御部110は第2ステータス領域138に「完了」のステータスを格納する(S220)。これにより、第2バッファ136のエンコーダ値の書き込みが完了したという状態が確定し、
図3のT10に示すように第2バッファ136のエンコーダ値が有効のままである。そして制御部110は、S202以降の処理を繰り返し、第1バッファ132および第2バッファ136のエンコーダ値を交互に書き換える。
【0026】
上記説明したステータス(書き込み状態の情報)の操作についてまとめると、ステータスの種類としては「完了」「更新」「無効」を意味する3つのデータ(フラグ)を用いる。第1および第2ステータス領域には、同時に同じステータスは格納しない。そして有効と判断する優先順位は、「完了」>「更新」>「無効」の順である。
【0027】
そして、本実施形態のロボット制御装置100によれば、第1バッファ132と第2バッファ136とのエンコーダ値が交互に更新される。このとき、エンコーダ値には、書き込み状態の情報が紐づけされていて、書き込み途中でロボット102の電源が落ちた場合等のエンコーダ値は有効と判断されない。したがって、書き込み中に電源遮断が発生したとしても、制御装置の再起動時に、ステータス領域に書き込まれたステータスにより、第1バッファまたは第2バッファに書き込まれた適切なエンコーダ値を取得することができ、書き込みが完了していないステータスの情報の採用を回避することができるため、正確なステータス情報を採用することが可能となる。
【0028】
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明は斯かる例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【産業上の利用可能性】
【0029】
本発明は、バッテリレスでエンコーダ値を記憶するロボット制御装置として利用することができる。
【符号の説明】
【0030】
100…ロボット制御装置、102…ロボット、102a…関節、110…制御部、120…エンコーダ、130…メモリ、132…第1バッファ、134…第1ステータス領域、136…第2バッファ、138…第2ステータス領域