JP7874769B1 - ロボットコントロールシステム、コントロールユニット及びロボットの制御方法 - Google Patents

ロボットコントロールシステム、コントロールユニット及びロボットの制御方法

Info

Publication number
JP7874769B1
JP7874769B1 JP2025059243A JP2025059243A JP7874769B1 JP 7874769 B1 JP7874769 B1 JP 7874769B1 JP 2025059243 A JP2025059243 A JP 2025059243A JP 2025059243 A JP2025059243 A JP 2025059243A JP 7874769 B1 JP7874769 B1 JP 7874769B1
Authority
JP
Japan
Prior art keywords
command
robot
actuator
controller
control system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2025059243A
Other languages
English (en)
Inventor
勝久 山本
央樹 丸林
慎司 梶原
信高 坪井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kawasaki Motors Ltd
Original Assignee
Kawasaki Jukogyo KK
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kawasaki Jukogyo KK filed Critical Kawasaki Jukogyo KK
Priority to JP2025059243A priority Critical patent/JP7874769B1/ja
Application granted granted Critical
Publication of JP7874769B1 publication Critical patent/JP7874769B1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Manipulator (AREA)

Abstract

【課題】ロボット制御の柔軟性、拡張性を高めつつ、機能安全を担保する。
【解決手段】ロボットコントロールシステム30では、コンピュータ31からコントローラ41に速度指令又はトルク指令を送信する。コントローラ41は、速度指令又はトルク指令を入力指令として受信し、入力指令に基づいてアクチュエータACを駆動する駆動信号を生成して出力し、入力指令に対応するアクチュエータACの指令位置を推定する。セーフティユニット44は、推定された指令位置と、センサDaを用いて検出されたアクチュエータACの位置とを取得し、指令位置とアクチュエータACの位置とに基づいて、アクチュエータACの動作異常を判定する。
【選択図】図4

Description

ここに開示する技術は、ロボットの制御に係るロボットコントロールシステム及びコントロールユニット並びにロボットの制御方法に関する。
従来より、ロボットシステムにおいて、コントローラが、位置指令に基づいてアクチュエータを制御する技術が知られている。例えば、従来のロボットシステムにおいて、コントローラは、プログラム等に基づいて、位置指令や速度指令を生成している(特許文献1、3参照)。又は、従来技術において、コントローラは、位置指令を入力として受信し、その位置指令に基づいてサーボ制御をしている(特許文献2参照)。
具体的に、特許文献1には、制御回路が、位置指令、速度指令及び加速度指令を生成して、ロボットを駆動する技術が示されている。特許文献2には、制御装置が、受信した位置指令に基づいてロボットを制御する技術が示されている。特許文献3には、操作者が操作部を介して、ロボットアームの動作設定や動作制御をする技術が示されている。特許文献3において、コントローラは、RAMに格納されたプログラム等(例えば、ロボットの教示プログラムやロボットの機能設定等)に基づいて、サーボドライバに速度指令を出力する。言い換えると、コントローラが、プログラム等に基づいて速度指令を生成する。
特開2024-29677号公報 特開2024-148665号公報 特許第6857818号公報
近年、ソーシャルロボットをはじめとして、様々な機能を有するロボットの研究、開発が進み、ロボットの制御に関するニーズも多様化している。例えば、コントローラに、速度指令を与えて、速度指令に基づいてロボットを制御したいというニーズがある。この場合、位置指令がない状態でアクチュエータを駆動する必要が出てくる。
しかしながら、コントローラが、与えられた速度指令に基づいてアクチュエータを駆動する場合に、機能安全の観点から課題がある。一般的に、機能安全において、エンコーダで測定されるアクチュエータの位置と位置指令に基づいて異常の発生の有無を判定する。与えられた速度指令に基づいてアクチュエータを駆動する場合、位置指令が存在しないため、どのように安全機能を担保するかが問題となる。
ここに開示する技術は、ロボットコントロールシステムに関する。ロボットコントロールシステムは、
ロボットのアクチュエータの駆動を制御するコントローラと、
前記アクチュエータの動作異常を判定するためのセーフティユニットと、
前記コントローラに、所定の通信プロトコルによる双方向通信が可能に接続されるコンピュータとを備え、
前記コンピュータが、
前記コントローラに、前記アクチュエータの動作速度を指示する速度指令又は前記アクチュエータのトルクを指示するトルク指令を送信し、
前記コントローラが、
前記速度指令又は前記トルク指令を入力指令として受信し、
前記入力指令に基づいて前記アクチュエータを駆動する駆動信号を生成して出力し、
前記入力指令に対応する前記アクチュエータの指令位置を推定し、
前記セーフティユニットが、
推定された前記指令位置と、センサを用いて検出された前記アクチュエータの位置とを取得し、
前記指令位置と、前記アクチュエータの位置とに基づいて、前記アクチュエータの動作異常を判定する。
本開示のロボットコントロールシステムでは、ロボット制御の柔軟性、拡張性を高めつつ、機能安全を担保することができる。
図1は、本開示の技術のコンセプトを説明するための図である。 図2は、ロボットコントロールシステムの構成例を示すブロック図である。 図3は、ロボットコントロールシステムの機能ブロック図である。 図4は、ロボットコントロールシステムの制御ブロック図である。 図5は、ロボットの構成例を示す。 図6は、ロボットコントロールシステムの制御フローを示すフローチャートである。 図7は、ロボットコントロールシステムの制御フローを示すフローチャートである。
以下、制御方法を実行するロボットシステムの実施形態について、図面を参照しながら説明する。ここで説明するロボットシステムは例示である。
本開示において、回路、ユニット、モジュール、又は手段は、列挙された機能を実行するハードウエアであるか、又は、列挙された機能を実行するようにプログラムされたハードウエアである。ハードウエアは、本明細書に開示されているハードウエアであってもよいし、あるいは、列挙された機能を実行するようにプログラム又は構成されているその他の既知のハードウエアであってもよい。ハードウエアが回路の一種と考えられるプロセッサである場合、回路、手段、又はユニットはハードウエアとソフトウエアの組み合わせであり、ソフトウエアはハードウエア及び/又はプロセッサの構成に使用される。
1.コンセプト
本開示の技術のコンセプトを説明する。図1には、ロボットの種別に応じたコントローラ及びロボットを含む全体アーキテクチャを例示している。
符号10は、ミニマム構成のロボットコントローラである。ロボットコントローラ10は、産業用ロボット71の制御が可能である。産業用ロボット71は、特定の機能に限定されたロボットである。ロボットコントローラ10は、メインプロセッサと、サーボドライブユニットとを備える。サーボドライブユニットは、ロボットのアクチュエータを駆動する。アクチュエータは、例えば、電気モータである。
符号20は、産業用ロボット72の制御が可能なロボットコントローラである。産業用ロボット72は、産業用ロボット71のように機能が限定されていない。産業用ロボット72は、汎用の産業用ロボットである。産業用ロボット72は、例えば多関節ロボットであってもよい。ロボットコントローラ20は、サーボドライブユニット21と、プロセッサユニット22とを備える。サーボドライブユニット21は、ロボットコントローラ10から、メインプロセッサを省略したユニットに相当する。プロセッサユニット22は、メインプロセッサを有する。
本開示の技術の主題と異なるため、詳細な説明は省略するが、ロボットコントローラ10、20において、メインプロセッサは、例えば、ロボットの教示プログラムやロボットの機能設定等に基づいて位置指令を生成する。サーボドライブユニット21は、メインプロセッサで生成された位置指令に基づいてアクチュエータを駆動する。なお、ロボットコントローラ10、20において、メインプロセッサは、位置指令に基づいて動作指令を生成してもよい。動作指令は、速度指令、加速度指令、又は、トルク指令を含む。動作指令は、速度指令、加速度指令、及び/又は、トルク指令の組み合わせを含んでもよい。サーボドライブユニット21は、メインプロセッサで生成された動作指令に基づいて、アクチュエータを駆動してもよい。ロボットコントローラ10、20では、メインプロセッサは、閉じられた環境において、ロボットの教示プログラム等に基づいて、位置指令及び動作指令を生成する。したがって、ロボットコントローラ10、20では、セーフティユニットにおいて、メインプロセッサで生成される位置指令と、エンコーダ等のセンサで測定される位置検出値との比較がしやすいという特徴がある。すなわち、セーフティユニットにおいて、機能安全を担保するのが相対的に容易である。
本開示の技術は、主に、符号30のロボットコントロールシステムに向けられる。ただし、本開示の技術をロボットコントローラ10、20の形態に適用することを排除しない。 ロボットコントロールシステム30の形態では、コントロールユニット40は、コンピュータ31の制御を受けて、ロボットシステム81又はソーシャルロボット82等のロボットのアクチュエータの駆動を制御する。言い換えると、マスタとしての機能を有するメインCPU33は、コンピュータ31に位置する。コントロールユニット40は、メインCPU33のスレーブとして機能するサーボコントローラ(以下、単に「コントローラ41」という)を有する。具体的に、本開示では、ロボットコントロールシステム30において、コンピュータ31のメインCPU33が、速度指令又はトルク指令を、コントロールユニット40のコントローラ41に送信する。速度指令又はトルク指令を入力指令として受信したコントローラ41は、入力指令に基づいてロボットシステム81又はソーシャルロボット82のアクチュエータを駆動する駆動信号を出力する。
さらに、コントローラ41は、入力指令に基づくアクチュエータACの指令位置を推定する。指令位置の推定方向は、特に限定されない。例えば、指令位置の推定方法として、数式を用いた算出方法を用いてもよい。数式を用いた指令位置の算出方法については後述する。例えば、コントローラ41は、入力指令に基づくアクチュエータの指令位置を推定する位置推定プログラムを有してもよい。コントローラ41は、入力指令に基づくアクチュエータの指令位置を推定する機械学習モデルを有してもよい。
コンピュータ31は、例えばIPC(Industrial PC)である。コンピュータ31は、市販のコンピュータであってもよい。コンピュータ31は、例えば、サーバでもよい。サーバ環境は、特に限定されず、オンプレミスでもよいし、クラウドでもよい。
ロボットシステム81は、例えば複数の産業用ロボットと、ロボットの周辺機器とを含むシステムである。周辺機器は、ロボットと協働して作業を遂行するデバイスである。具体的に、周辺機器には、ロボットを移動させる移動デバイス、ロボットを旋回させるターンテーブル、ロボットへワークを搬送するコンベア、又は、ロボットが搬送するワークに対する処理を実行するデバイス、例えばワークとしての基板のアライメントをするアライナが挙げられる。なお、周辺機器には、ロボットが含まれる。周辺機器としてのロボットは、例えばロボットへワークを搬送するロボットである。
ソーシャルロボット82は、産業用ロボット72と比較して、アクチュエータの数が多い、又は、ロボットの動作用アクチュエータ以外の、デバイスを含む、といった相違点を有する。アクチュエータ以外のデバイスには、例えば周囲環境を撮影するカメラ、ロボットの周辺環境をモニタしたり、アクチュエータの動きを検出するセンサ、又は、ロボット移動用の移動装置が含まれる。
ロボットシステム81又はソーシャルロボット82は、駆動対象となるアクチュエータACの位置検出用のセンサDaを備える。コントロールユニット40は、セーフティユニット44を備える。セーフティユニット44では、センサDaを用いて検出されたアクチュエータACの位置と、コントローラ41で推定された指令位置とに基づいて、アクチュエータACの動作異常を判定する。アクチュエータACとセンサDaについては、後ほど説明する。
上記コンセプトにより、コンピュータ31が、速度指令またはトルク指令をコントロールユニット40に送信することで、ロボット制御ができる。コンピュータ31で位置指令の作成が省けるので、ロボット制御の柔軟性、拡張性を高めることができる。コントロールユニット40が、速度指令またはトルク指令に基づいて指令位置を推定する。セーフティユニット44が、センサDaを用いて検出されたアクチュエータACの位置と、コントローラ41で推定された指令位置とに基づいて、アクチュエータACの動作異常を判定するので、機能安全を担保することができる。すなわち、本開示によると、ロボット制御の柔軟性、拡張性を高めつつ、機能安全を担保することができる。
2.ロボットコントロールシステム
以下、ロボットコントロールシステム30について、図面を参照しながら説明する。ここで説明するロボットコントロールシステム30は例示である。なお、以下に示すブロック図では、本開示に関わる構成要素を中心に簡略化して図示を行っている。そのため、例えば直接的に接続されているように図示された構成要素が、実際の構成では、その間に他の構成要素が配置されており、間接的に接続されている場合がある。本開示で、「接続」との用語は、電気的に接続されていることを広く包含する概念として用いる。言い換えると、本開示において、「接続」との用語には、要素間が直接接続されているものに加えて、受動素子等の他の構成要素を介して間接的かつ電気的に接続されているものが含まれる。以下の説明では、説明の便宜上、ロボットコントロールシステム30の駆動対象のロボットを総称して、「ロボット8」と呼ぶ。ロボット8は、前述のロボットシステム81に含まれる各種ロボット、ソーシャルロボット82、その他のロボットを含む。
図2は、ロボットコントロールシステム30の構成例を示すブロック図である。図3は、ロボットコントロールシステム30の機能ブロック図である。図4は、ロボットコントロールシステム30の制御ブロック図である。
以下の説明において、ロボット8は、複数のアクチュエータACと、複数のセンサDaとを備える。アクチュエータACは、例えば、電気モータである。アクチュエータACは、例えば、サーボモータMaである。アクチュエータACは、例えば、ロボット8の関節Jに位置する。アクチュエータACの具体的な配置例については、後ほど説明する。
複数のセンサDaは、それぞれ、対応するアクチュエータACの位置を検出し、電気信号として出力する。センサDaは、アクチュエータACの位置を直接検出してもよい。センサDaがアクチュエータACの位置を直接検出する構成でない場合に、センサDaの測定値からアクチュエータACの位置に変換されてもよい。例えば、センサDaは、エンコーダDa1を含む。 エンコーダDa1は、例えば、サーボモータMaのモータ軸の回転方向、回転角、回転速度等を検出する。モータ軸の回転角は、アクチュエータの位置の一例である。また、例えば、エンコーダDa1で検出されたモータ軸の回転方向、回転角等が、アクチュエータACの位置に変換されてもよい。アクチュエータACの位置への変換処理は、エンコーダDa1で行ってもよいし、コントローラ41等のエンコーダDa1以外の回路で実行されてもよい。なお、センサDaは、エンコーダDa1に限定されない。例えば、アクチュエータACの位置を検出するためのセンサDaとして、レゾルバ又は磁気センサを用いてもよい。センサDaは、トルクセンサを含んでもよい。トルクセンサは、サーボモータMaにかかるトルクを検出し、電気信号に変換して出力する。センサDaは、異なる複数種のセンサを組み合わせて使用してもよい。以下の説明において、センサDaを用いて検出されたアクチュエータACの位置を示す電気信号について、検出信号という場合がある。
図2に示すように、ロボット8は、ロボットアーム85、86を含んでもよい。ロボットアーム85、86は、それぞれ、複数のサーボモータMaを含む。図5には、ロボット8が、ソーシャルロボットである例を示す。ロボット8は、例えば、多関節ロボットである。ロボットアーム85、86は、例えば、垂直多関節式のアームである。図5において、ロボットアーム85、86は、ロボット本体87に関節Jを介して接続されている。ロボットアーム85、86は、例えば、複数のリンクLと、それぞれのリンクL間を接続する関節Jとを有する。サーボモータMaは、例えば、それぞれの関節Jに位置し、対応する関節Jを駆動する。なお、サーボモータMaと関節Jとが、一対一で対応してもよいし、複数対一の関係であってもよいし、一対複数の関係であってもよい。ロボットアーム85、86は、互いに同じ構成であってもよいし、1又は複数の共通の構成を有してもよい。
(1)コントロールユニット
図2に示すように、ロボットコントロールシステム30は、コンピュータ31と、1又は複数のコントロールユニット40とを備える。コントロールユニット40は、コントローラ41を有する。図2のコントローラ41は、1つのコントローラ41で複数軸のアクチュエータACを駆動する、多軸一体型のコントローラである。なお、軸ごとにコントローラ41を設けてもよい。コントローラ41は、例えば、1又は複数のサーボCPU42を含む。1又は複数のサーボCPU42は、例えば、サーボ基板43に実装される。サーボCPU42が、1つ又は複数の、チップ化された集積回路で構成されてもよい。サーボCPU42の数は、サーボモータMaと同数であってもよいし、サーボモータMaよりも少なくてもよい。図2では、コントローラ41が、7つのサーボモータMaに対して、2つのサーボCPU42を有する例を示す。
コントローラ41は、速度指令又はトルク指令を入力指令として受信し、入力指令に基づいてアクチュエータACを駆動する駆動信号を生成して出力する。出力された駆動信号は、アンプ基板47のインバータ62に入力される。さらに、コントローラ41は、入力指令に応じたアクチュエータACの指令位置を推定する機能を有する。
より具体的に、コントローラ41について説明する。図3に示すように、コントローラ41は、機能モジュールとして、通信モジュール51と、速度制御モジュール52と、電流制御モジュール53と、位置推定モジュール54とを有する。なお、図3の機能ブロック分けは、便宜上のものであり、図3の構成に限定されず、機能ブロック同士を結合してもよいし、図3よりも細分化してもよい。
コントローラ41の各モジュールの機能は、例えば、開示された機能を実行するよう構成又はプログラムされた汎用プロセッサ、専用プロセッサ、集積回路、ASIC(Application Specific Integrated Circuits)、従来の回路、及び/又は、それらの組み合わせ、を含む回路又は処理回路を使用して実行できる。プロセッサは、トランジスタやその他の回路を含むため、処理回路又は回路と見なされる。プロセッサは、例えば、サーボCPU42のプロセッサである。言い換えると、コントローラ41の各モジュールの機能は、例えば、メモリに記憶されたプログラムをサーボCPU42に搭載されたプロセッサが実行することにより実現される。メモリは、例えば、RAM(Random Access Memory)等の揮発性メモリ、ROM(Read Only Memory)及びフラッシュメモリ等の不揮発性メモリ、ハードディスクドライブ(HDD)、並びに、SSD(Solid State Drive)の群から選択される1又は複数を含んでもよい。なお、サーボCPU42として、CPU(中央演算処理装置)に加えて又は代えて、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)、マイクロプロセッサ(microprocessor)、プロセッサコア(processor core)、マルチプロセッサ(multiprocessor)、ASIC(Application-Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)、及びリコンフィギュラブルプロセッサの群から選択される1又は複数を用いてもよい。
通信モジュール51は、コンピュータ31と通信する機能を有する。具体的に、通信モジュール51は、所定の通信プロトコルに準拠したインターフェース回路を有する。通信モジュール51は、メインCPU33の通信モジュール35との間で所定の通信プロトコルに準拠した通信を行う。所定の通信プロトコルは、例えば、GHz帯以上の通信帯域を有する。所定の通信プロトコルは、例えば、EtherCAT(登録商標)である。例えば、後述するメインCPU33の通信モジュール35がマスターノードであり、サーボCPU42の通信モジュール51がスレーブノードである。なお、所定の通信プロトコルとして、EtherCAT以外の高速インターフェースプロトコルに準拠してもよい。
通信モジュール51は、サーボモータMaの状態を測定するセンサDaから出力される検出信号を受信する機能を有してもよい。すなわち、通信モジュール51は、エンコーダDa1の検出信号を受信してもよい。エンコーダDa1の測定データが、通信モジュール51を介してメインCPU33に送信されてもよい。なお、センサDaとしてトルクセンサを有する場合に、トルクセンサの検出値は、例えば、サーボCPU42に送信される。トルクセンサの測定データが、通信モジュール51を介してメインCPU33に送信されてもよい。
図4は、ロボットコントロールシステム30の制御ブロック図である。図6は、ロボットコントロールシステム30の制御フローを示している。図6は、ロボットコントロールシステム30全体として見た場合の制御フローである。
図6のS1において、コンピュータ31は、コントローラ41にアクチュエータACの動作速度を指示する速度指令又はアクチュエータACのトルクを指示するトルク指令を送信する。
図6のS2において、コントローラ41は、速度指令又はトルク指令を入力指令として受信する。具体的には、図4に示すように、コントローラ41の速度制御モジュール52が、速度指令又はトルク指令を入力指令として受信する。
図6のS3において、コントローラ41は、入力指令に基づいてアクチュエータACを駆動するための目標電流値を生成して出力する。具体的には、速度制御モジュール52が、速度指令値から、実角度位置を微分して得られる実角速度を減算して速度偏差を算出する。速度制御モジュール52は、算出した速度偏差に速度ゲインを乗算する。速度制御モジュール52は、速度ゲインを用いて、サーボモータMaから出力する目標トルクに応じた目標電流値を生成する。速度制御モジュール52は、生成した目標電流値を電流制御モジュール53に出力する。速度指令から目標電流値の生成方法は、上記に限定されず、数式を用いた算出方法であってもよい。
電流制御モジュール53は、受信した目標電流値が、所定の電流制限値の範囲内である場合、その目標電流値に応じた駆動信号を、後述するインバータ62に出力する。電流制御モジュール53は、受信した目標電流値が、所定の電流制限値の範囲外の場合、電流制限値の範囲内に制限された電流に応じた駆動信号を、アンプ基板47のインバータ62に出力する。駆動信号は、例えば、PWM信号(Pulse Width Modulation)である。電流制御モジュール53は、インバータ62の出力電流に応じた電流フィードバック信号を受けて、クローズドループ制御を実行してもよい。具体的に、速度制御モジュール52から受信した目標電流値と、電流フィードバック信号との誤差を演算し、両者間の誤差を減らすようにフィードバック制御をしてもよい。
図6のS4において、コントローラ41は、入力指令に対応するアクチュエータACの指令位置を推定する。具体的には、図4に示すように、コントローラ41の位置推定モジュール54が、速度指令又はトルク指令を入力指令として受信し、入力指令に基づいてアクチュエータACの指令位置を推定する。図6のS3とS4との処理の前後関係は、特に限定されない。S3の処理とS4の処理とは、それぞれ独立して実行することができる。すなわち、例えば、S3の処理とS4の処理とが並行して実施されてもよいし、S3の処理とS4の処理との実行時間が互いにずれていてもよい。
例えば、入力指令がトルク指令の場合、アクチュエータの指令位置は、以下の数式で算出できる。下記数式において、τcmdはトルク指令値であり、Ilinkは慣性行列であり、Imはモータ慣性行列であり、Rgは減速比であり、C(θout, θout)はコリオリ項であり、G(θout)は重力項であり、θoutは指令位置の推定値である。
位置推定モジュール54は、所定の時間ごとに、上記計算式を用いた指令位置の推定についての偏差をリセットしてもよい。所定の時間は、特に限定されず、任意に設定できる。所定の時間は、例えば、1秒ごとのサーボモータMaの回転角に応じて設定してもよい。偏差のリセットをすることで、位置推定値と、エンコーダによる検出値との誤差が小さくなる。
入力指令が速度指令の場合、アクチュエータACの指令位置は、例えば、入力された速度指令を原点位置から積算し、その積算値を推定値として用いる。推定されたアクチュエータACの指令位置は、セーフティユニットに出力される。
コントロールユニット40は、アンプ基板47及び電源基板48を有してもよい。アンプ基板47は、サーボ基板43とアクチュエータACとの間に介在する。図4に示すように、電源基板48は、コンバータ61を有する。コンバータ61は、例えば、複数のダイオードをブリッジ接続した整流回路である。コンバータ61は、交流電源から供給される交流電力を直流電力に変換し、インバータ62に出力する。
アンプ基板47は、インバータ62を有してもよい。インバータ62は、サーボCPU42とアクチュエータACとの間に介在する。インバータ62は、コンバータ61から出力された直流電力を交流電力に変換し、コントロールユニット40の出力端子から出力する。例えば、インバータ62では、後述する電流制御モジュール53から出力される駆動信号によりスイッチング素子がスイッチング動作をし、駆動電流を出力する。インバータ62から出力された駆動電流は、コントロールユニット40の出力端子を介してアクチュエータACに供給される。インバータ62は、例えば、トランジスタ等のスイッチング素子がブリッジ接続された、PWM方式のインバータである。インバータ62の出力は、コントロールユニット40の出力端子に接続される。コントロールユニット40の出力端子は、ロボットR1のアクチュエータACに接続される。なお、本開示で「端子」との用語は、電気回路の接続のために設けた電流の出入口という概念で用いる。例えば、端子台、コネクタ、半導体のリードといった特定の物理的な構成に限定する意図はなく、回路や素子間を接続する電線やプリント基板上の配線などが端子に相当する場合がある。
なお、アンプ基板47及び電源基板48は、必須の構成ではない。例えば、コントローラ41から出力された駆動信号をアクチュエータACに直接入力してもよい。この場合アクチュエータACが、コントローラ41から受信した駆動信号に基づいて、駆動電流や駆動電圧等の駆動源を生成する機能を有してもよい。例えば、アクチュエータACは、内部に、又は、外付機能として、インバータ62に相当する構成を有してもよい。
コントロールユニット40は、セーフティユニット44を有する。セーフティユニット44は、機能モジュールとして、異常判定モジュール57を有する。セーフティユニット44は、例えば、1又は複数のCPU46を含む。1又は複数のCPU46は、例えば、安全基板45に実装される。セーフティユニット44の機能は、例えば、メモリに記憶されたプログラムをCPU46に搭載されたプロセッサが実行することにより実現される。セーフティユニット44の機能には、異常判定モジュール57の機能も含まれる。メモリは、例えば、RAM(Random Access Memory)等の揮発性メモリ、ROM(Read Only Memory)及びフラッシュメモリ等の不揮発性メモリ、ハードディスクドライブ(HDD)、並びに、SSD(Solid State Drive)の群から選択される1又は複数を含んでもよい。なお、CPU46として、CPU(中央演算処理装置)に加えて又は代えて、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)、マイクロプロセッサ(microprocessor)、プロセッサコア(processor core)、マルチプロセッサ(multiprocessor)、ASIC(Application-Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)、及びリコンフィギュラブルプロセッサの群から選択される1又は複数を用いてもよい。CPU46が、1つ又は複数の、チップ化された集積回路で構成されてもよい。
エンコーダDaは、少なくとも、アクチュエータACの位置を検出し、検出値を検出信号として出力する。エンコーダDaは、例えば、機械的な移動量に加えて、アクチュエータACの移動方向、角度等をセンサで検出し、検出信号として出力してもよい。なお、アクチュエータACの位置を検出するのに、エンコーダ以外のセンサを用いてもよい。センサの検出方式は、特に限定されない。例えば、光学式センサでもよいし、磁気式センサでもよい。
図6のS5において、セーフティユニット44は、センサDaを用いて検出されたアクチュエータACの位置を取得する。例えば、セーフティユニット44は、エンコーダDa1から出力される検出信号を受信することで、エンコーダDa1によるアクチュエータACの位置の検出値を取得する。検出信号が、アクチュエータACの位置以外の検出値、例えば、アクチュエータACの移動方向、回転角等の検出値を含んでもよい。
図6のS6において、セーフティユニット44は、コントローラ41から受信した指令位置と、センサDaを用いて検出されたアクチュエータACの位置とに基づいて、アクチュエータACの動作異常を判定する。具体的に、例えば、異常判定モジュール57は、コントローラ41から受信した指令位置と、センサDaを用いて検出されたアクチュエータACの位置とに基づいて、アクチュエータACの動作異常を判定する。動作異常の判定方法は、特に限定されない。例えば、異常判定モジュール57は、コントローラ41で推定された指令位置と、エンコーダDaで検出されたアクチュエータACの駆動による移動位置とを比較し、位置の差が所定の閾値を超える場合に、異常があったと判定する。
アクチュエータACの動作異常が検出された場合、次のS7においてYES判定となり、フローはS8に進む。S8では、動作異常に対応する処理が実行される。具体的な処理は、特に限定されないが、例えば、ロボット8の非常停止、アラームの発報、教示装置への表示、ロボット8の保護停止などが例示される。アラームの発報は、例えば、音声による発報と、パトランプ等の表示や発光による発報を含む。
なお、図2に示すように、コントロールユニット40は、コネクタ49を有する。コネクタ49は、コンピュータ31のコネクタ38に接続されてもよい。コネクタ49は、サーボCPU42に接続されている。コネクタ38は、メインCPU33に接続されている。サーボCPU42は、コネクタ49及びコネクタ38を介して、メインCPU33と所定の通信プロトコルに準拠した双方向通信をする。
コネクタ38の具体的構造は特に限定されない。コネクタ38として、例えば、基板に配置された、プラグ、ソケット、ヘッダ、レセプタクル、ピンコンタクトなどが例示される。コネクタ16Aとコネクタ31とが、それぞれ、オスコネクタとメスコネクタとの関係にあり、相互間を配線なしでダイレクトに接続できる構造でもよい。なお、コネクタ49は、必須の構成ではない。例えば、コネクタ49に代えて、半田等を用いてもよい。コネクタ38についても同様である。
(2)コンピュータ
コンピュータ31は、メインCPU33を有する。メインCPU33は、例えば、入力指令をコントロールユニット40に出力することで、コントロールユニット40に接続されたロボット8の種々の構成要素の動作を制御する。図2に示すように、メインCPU33は、例えば、メイン基板34に実装される。
メインCPU33の機能は、例えば、後述する指令値生成モジュールの機能は、メインCPU33に搭載されたプロセッサがメモリに記憶されたプログラムを実行することにより実現される。具体的に、メインCPU33の機能は、例えば、開示された機能を実行するよう構成又はプログラムされた汎用プロセッサ、専用プロセッサ、集積回路、ASIC(Application Specific Integrated Circuits)、従来の回路、及び/又は、それらの組み合わせ、を含む回路又は処理回路を使用して実行できる。プロセッサは、トランジスタやその他の回路を含むため、処理回路又は回路と見なされる。プロセッサが、1つ又は複数の、チップ化された集積回路で構成されてもよい。メモリは、例えば、RAM(Random Access Memory)等の揮発性メモリ、ROM(Read Only Memory)及びフラッシュメモリ等の不揮発性メモリ、ハードディスクドライブ(HDD)、並びに、SSD(Solid State Drive)の群から選択される1又は複数を含んでもよい。
図3に示すように、メインCPU33は、機能モジュールとして、通信モジュール35を有してもよい。通信モジュール35は、1または複数のサーボCPU42と通信する機能を有する。通信モジュール35は、通信モジュール51と共通の、所定の通信プロトコルに準拠したインターフェース回路を有する。通信モジュール35は、例えば、通信モジュール51との間で所定の通信プロトコルに準拠した通信を行う。前述のとおり、所定の通信プロトコルは、例えば、GHz帯以上の通信帯域を有する。所定の通信プロトコルは、例えば、EtherCATである。
メインCPU33は、機能モジュールとして、指令値生成モジュール36を有する。指令値生成モジュール36は、ロボット8に所望の動作をさせるための、アクチュエータACの速度指令又はトルク指令を生成して出力する。速度指令は、例えば、アクチュエータACの動作速度を指示する指令値である。トルク指令は、例えば、アクチュエータACのトルクを指示する指令値である。指令値生成モジュール36は、例えば、位置指令と、速度指令又はトルク指令を組み合わせてもよい。例えば、ある特定のポイントまでは、位置指令によりアクチュエータACを動作させ、特定のポイントから先の制御はトルク指令で動作させるとしてもよい。また、例えば、アクチュエータACの最終到達点の位置は位置指令として与えつつ、始点から最終到達点までの間の移動速度について、1または複数の速度指令という形で指令を組み合わせてもよい。
指令値生成モジュール36で生成された速度指令又はトルク指令は、通信モジュール35、51を介して、サーボCPU42に送信される。具体的に、速度指令又はトルク指令は、前述の所定の通信プロトコルに準拠する形態に変換され、サーボCPU42に送信される。
なお、指令値生成モジュール36は、フィードバック制御を行うようにしてもよい。具体的に、指令値生成モジュール36は、センサDaの検出データをフィードバック信号としてコントロールユニット40から受信してもよい。フィードバック信号は、例えば、エンコーダDa1の検出信号に基づく位置フィードバック信号乃至速度フィードバック信号を含んでもよい。フィードバック信号は、例えば、トルクセンサの検出信号に基づくトルクフィードバック信号を含んでもよい。
指令値生成モジュール36は、協調制御を指示するように構成されていてもよい。例えば、ロボットが複数軸のロボットアーム85、86を有するロボットの場合に、ロボットアーム85とロボットアーム86とが協調して動作するように速度指令又はトルク指令を生成してもよい。例えば、ロボットアーム85の速度指令又はトルク指令に応じて、ロボットアーム86が協調して動作するように速度指令又はトルク指令を調節していもよい。例えば、ロボットアーム85の動作と、ロボットアーム86の動作とを総合的に判断して、ロボットアーム85、86の速度指令又はトルク指令をそれぞれ生成してもよい。また、指令値生成モジュール36は、ロボット8の振動を考慮した協調制御を行ってもよい。例えば、指令値生成モジュール36は、ロボットアーム85の速度指令又はトルク指令に起因するロボットアーム86の振動量を推定し、ロボットアーム86の振動を抑制するようにロボットアーム86の速度指令又はトルク指令を調節してもよい。例えば、ロボットアーム85の動作と、ロボットアーム86の動作とを総合的に判断して、ロボットアーム85、86の振動が小さくなるように、ロボットアーム85、86の速度指令又はトルク指令をそれぞれ調節してもよい。
3.ロボットの制御方法
図7は、ロボットコントロールシステムの制御フローを示すフローチャートである。図7は、ロボットコントロールシステム30の制御フローを、コントロールユニット40を中心として見た場合の制御フローである。ここでは、図7を参照しつつ、ロボットの制御方法について説明する。
S11において、コントロールユニット40は、入力指令を受信する。入力指令は、例えば、コンピュータ31から送信される。コンピュータ31とコントロールユニット40とは、所定の通信プロトコルによる双方向通信が可能に接続されている。入力指令は、アクチュエータACの動作速度を指示する速度指令を含む。入力指令は、アクチュエータACのトルクを指示するトルク指令を含む。前述のとおり、例えば、前述のコントローラ41が、速度指令又はトルク指令を入力指令として受信してもよい。例えば、前述の速度制御モジュール52が、速度指令又はトルク指令を入力指令として受信してもよいし、他のモジュールで受信してもよい。
S12において、コントロールユニット40は、入力指令に基づいてアクチュエータACを駆動する駆動信号を生成する。コントロールユニット40は、生成した駆動信号をアクチュエータACに出力する。例えば、前述のコントローラ41が、コンピュータ31から受信した入力指令に基づいて駆動信号を生成してもよい。生成された駆動信号は、アンプ基板47を介して、アクチュエータACに出力されてもよい。駆動信号の生成は、前述の速度制御モジュール52及び電流制御モジュール53で実行されてもよいし、同様の機能を有する他のモジュールで実行されてもよい。
S13において、コントロールユニット40は、入力指令に対応するアクチュエータACの指令位置を推定する。指令位置の推定は、例えば、前述の位置推定モジュール54で実行されてもよいし、同様の機能を有する他のモジュールで実行されてもよい。S12の処理とS13の処理とは、並行して実行されてもよいし、時間を前後させて実行してもよい。S12の処理とS13の処理とは、例えば、互いに独立して実行される。S12の処理とS13の処理とは、同じサーボCPU42で実行されてもよいし、異なるサーボCPU42で実行されてもよい。
S14において、コントロールユニット40は、センサDaを用いて検出されたアクチュエータACの位置を取得する。前述のセーフティユニット44が、アクチュエータACの位置を取得してもよい。前述のように、例えば、センサDaは、アクチュエータACの位置を直接検出してもよい。例えば、センサDaがアクチュエータACの位置を直接検出する構成でない場合に、センサDaの測定値からアクチュエータACの位置に変換されてもよい。センサDaの測定値からアクチュエータACの位置への変換処理は、センサDa内で実行されてもよいし、センサDa以外の回路を用いて実行されてもよい。センサDaは、例えば、エンコーダDa1を含む。コントロールユニット40は、例えば、エンコーダDa1から出力される検出信号を受信することで、エンコーダDa1によるアクチュエータACの位置の検出値を取得する。
S15において、コントロールユニット40は、S13で推定された指令位置と、S14で取得されたアクチュエータACの位置とに基づいて、アクチュエータACの動作異常を判定する。動作異常の判定方法は、特に限定されない。例えば、コントロールユニット40は、S13で推定された指令位置と、S14で取得されたアクチュエータACの位置とを比較し、位置の差が所定の閾値を超える場合に、異常があったと判定する、としてもよい。
アクチュエータの動作異常が検出された場合、次のS16においてYES判定となり、フローはS17に進む。S17では、動作異常に対応する処理が実行される。具体的な処理は、特に限定されないが、例えば、ロボット8の非常停止、アラームの発報、教示装置への表示、ロボット8の保護停止などが例示される。アラームの発報は、例えば、音声による発報と、パトランプ等の表示や発光による発報を含む。アクチュエータの動作異常が検出されなければ、S16においてNO判定となる。そして、その後の入力指令に応じて、前述のS11からの処理が実行され、繰り返される。
〔態様〕
前記の実施形態は、以下の態様の具体例である。
(態様1)
本開示の第1態様では、
ロボット(8)のアクチュエータ(AC)の駆動を制御するコントローラ(41)と、
前記アクチュエータ(AC)の動作異常を判定するためのセーフティユニット(44)と、
前記コントローラ(41)に、所定の通信プロトコルによる双方向通信が可能に接続されるコンピュータ(31)とを備え、
前記コンピュータ(31)が、
前記コントローラ(41)に、前記アクチュエータ(AC)の動作速度を指示する速度指令又は前記アクチュエータ(AC)のトルクを指示するトルク指令を送信し、
前記コントローラ(41)が、
前記速度指令又は前記トルク指令を入力指令として受信し、
前記入力指令に基づいて前記アクチュエータ(AC)を駆動する駆動信号を生成して出力し、
前記入力指令に対応する前記アクチュエータ(AC)の指令位置を推定し、
前記セーフティユニット(44)が、
推定された前記指令位置と、センサ(Da)を用いて検出された前記アクチュエータ(AC)の位置とを取得し、
前記指令位置と、前記アクチュエータの位置とに基づいて、前記アクチュエータ(AC)の動作異常を判定する、
ロボットコントロールシステム。
本開示では、コンピュータ(31)が、速度指令またはトルク指令をコントロールユニット(40)に送信することで、ロボット制御ができる。コンピュータ(31)で位置指令の作成が省けるので、ロボット制御の柔軟性、拡張性を高めることができる。さらに、コントロールユニット(40)が、速度指令またはトルク指令に基づいて指令位置を推定する。セーフティユニット(44)が、センサ(Da)を用いて検出されたアクチュエータ(AC)の位置と、コントローラ(41)で推定された指令位置とに基づいて、アクチュエータ(AC)の動作異常を判定するので、機能安全を担保することができる。すなわち、本開示によると、ロボット制御の柔軟性、拡張性を高めつつ、機能安全を担保することができる。
(態様2)
前記アクチュエータ(AC)は、前記ロボット(8)の関節(J)に位置する、
態様1に記載のロボットコントロールシステム(30)。
(態様3)
前記ロボット(8)は、垂直多関節式のロボットアーム(85、86)を有し、
前記ロボットアーム(85、86)は、複数のリンク(L)を有し、それぞれの前記リンク(L)間が前記関節(J)で接続され、
前記コントローラ(41)は、前記入力指令に対応する前記関節(J)の指令位置を推定し、
前記セーフティユニット(44)は、推定された前記関節(J)の指令位置と、前記センサ(Da)を用いて検出された前記関節(J)の位置とに基づいて、前記アクチュエータ(AC)の動作異常を判定する、
態様2に記載のロボットコントロールシステム(30)。
態様2または態様3のように、アクチュエータ(AC)がロボット(8)の関節(J)に位置する場合、例えば、コントローラ(41)は、入力指令に対応する関節(J)の指令位置を推定してもよい。例えば、セーフティユニット(44)は、推定された関節(J)の指令位置と、センサ(Da)を用いて検出された関節(J)の位置とに基づいて、アクチュエータ(AC)の動作異常を判定してもよい。コンピュータ(31)が、速度指令またはトルク指令をコントロールユニット(40)に送信することで、例えば、垂直多関節式のロボットアーム(85、86)を有するソーシャルロボット(82)のロボット制御ができる。すなわち、ソーシャルロボット(82)のロボット制御の柔軟性、拡張性を高めることができる。関節(J)の指令位置と、センサ(Da)を用いて検出された関節(J)の位置とに基づいて、前記アクチュエータ(AC)の動作異常を判定するので、ソーシャルロボット(82)の機能安全を担保することができる。したがって、ソーシャルロボット(82)について、ロボット制御の柔軟性、拡張性を高めつつ、機能安全を担保することができる。
(態様4)
前記入力指令は、前記トルク指令であり、
前記コントローラ(41)は、
前記トルク指令を受信し、
前記トルク指令に基づいて前記駆動信号を生成して出力し、
前記トルク指令に対応する前記アクチュエータ(AC)の指令位置を推定する、
態様1乃至4のいずれか一に記載のロボットコントロールシステム(30)。
コンピュータ(31)が、トルク指令をコントロールユニット(40)に送信することで、ロボット制御ができる。すなわち、コンピュータ(31)の利用者は、トルク指令を与えればよく、位置指令の作成が省けるので、ロボット制御の柔軟性、拡張性を高めることができる。直接指定するトルク指令値でアクチュエータ(AC)の出力トルクを制御することで、位置や速度の制限によらずに、所望のトルクを高速に出力できる。例えば、(1)ロボット8のロボットアーム85、86の先端にエンドエフェクタとしてハンドを取り付け、ハンドが物を一定のトルクでつかむことを想定する場合であったり、(2)ロボット8が先端に付けたワークを研磨する目的で、研磨対象に押し付ける場合、などに有効な方法となる。コントロールユニット(40)が、トルク指令に基づいて指令位置を推定し、アクチュエータ(AC)の位置データと、コントローラ(41)で推定された指令位置とに基づいて、アクチュエータ(AC)の動作異常を判定するので、機能安全を担保することができる。すなわち、ロボット制御の柔軟性、拡張性を高めつつ、機能安全を担保することができる。
(態様5)
前記センサ(Da)は、エンコーダ(Da1)、レゾルバ、磁気センサの群から選択される1又は複数である、
態様1乃至4のいずれか一に記載のロボットコントロールシステム(30)。
(態様6)
前記アクチュエータ(AC)は、サーボモータ(Ma)であり、
前記センサは、前記サーボモータの回転方向及び回転角度を測定するエンコーダ(Da1)であり、
前記アクチュエータ(AC)の位置は、前記エンコーダ(Da1)の測定値を基に算出される、
態様1乃至3のいずれか一に記載のロボットコントロールシステム(30)。
態様5では、センサ(Da)の具体的な構成について特定している。態様6において、セーフティユニット(44)では、コントローラ(41)で推定された指令位置と、エンコーダ(Da1)の測定値を基に算出されたアクチュエータ(AC)の位置に基づいて、アクチュエータ(AC)の動作異常を判定する。前述の態様1と同様に、ロボット制御の柔軟性、拡張性を高めつつ、機能安全を担保することができる。
(態様7)
前記所定の通信プロトコルは、GHz帯以上の通信帯域を有する、
態様1乃至6のいずれか一に記載のロボットコントロールシステム(30)。
所定の通信プロトコルとしてGHz帯以上の通信帯域とすることで、コンピュータ(31)とコントローラ(41)との間の速度指令又はトルク指令の伝達が高速化する。これにより、ロボット制御のリアルタイム性が向上する。
(態様8)
前記コントローラ(41)は、前記アクチュエータ(AC)の指令位置を推定するのに際して、所定の時間ごとに、推定される前記指令位置をリセットする、
態様1乃至7のいずれか一に記載のロボットコントロールシステム(30)。
(態様9)
前記アクチュエータ(AC)の指令位置は、前記ロボット(8)の関節(J)の指令位置であり、
前記コントローラ(41)は、前記センサ(Da)を用いて検出された前記ロボット(8)の関節位置を、推定される前記関節(J)の指令位置に代入することでリセットする、
態様8に記載のロボットコントロールシステム(30)。
態様8又は態様9によれば、所定の時間ごとに、推定される指令位置をリセットするので、位置推定値と、実際のロボット(8)の関節位置との誤差が小さくなる。例えば、積分が含まれる数式を用いて位置推定値を算出する場合、位置推定値の偏差が時間の経過とともに蓄積されていく。そこで、所定の時間ごとに推定される指令位置をリセットすることで、偏差がリセットされ、位置推定値と、実際のロボット(8)の関節位置との誤差が小さくなる。
(態様10)
ロボット(8)のアクチュエータ(AC)の駆動を制御するコントローラ(41)と、
前記アクチュエータ(AC)の動作異常を判定するためのセーフティユニット(44)と、を備え、
前記コントローラ(41)が、
速度指令又はトルク指令を入力指令として受信し、
前記入力指令に基づいて前記アクチュエータ(AC)を駆動する駆動信号を生成して出力し、
前記入力指令に応じた前記アクチュエータ(AC)の指令位置を推定し、
前記セーフティユニット(44)が、
推定された前記指令位置と、センサ(Da)を用いて検出された前記アクチュエータ(AC)の位置とを取得し、
前記指令位置と、前記アクチュエータ(AC)の位置とに基づいて、前記アクチュエータ(AC)の動作異常を判定する、
コントロールユニット(40)。
(態様11)
ロボット(8)のアクチュエータ(AC)の駆動を制御するコントロールユニット(40)による前記ロボット(8)の制御方法であって、
前記コントロールユニット(40)が、
速度指令又はトルク指令を入力指令として受信し、
前記入力指令に基づいて前記アクチュエータ(AC)を駆動する駆動信号を生成して出力し、
前記入力指令に応じた前記アクチュエータ(AC)の指令位置を推定し、
センサを用いて検出された前記アクチュエータ(AC)の位置を取得し、
前記指令位置と、前記アクチュエータ(AC)の位置とに基づいて、前記アクチュエータ(AC)の動作異常を判定する、
ロボット(8)の制御方法。
態様10及び態様11では、前述の態様1と同様に、速度指令またはトルク指令に基づいて、コントロールユニット(40)がロボットの制御をする。これにより、コントロールユニット(40)に指令を与える機器、例えば、コンピュータ(31)で位置指令の作成が省けるので、ロボット制御の柔軟性、拡張性を高めることができる。さらに、コントロールユニット(40)が、速度指令またはトルク指令に基づいて指令位置を推定する。セーフティユニット(44)が、センサ(Da)を用いて検出されたアクチュエータ(AC)の位置データと、コントローラ(41)で推定された指令位置とに基づいて、アクチュエータ(AC)の動作異常を判定するので、機能安全を担保することができる。すなわち、ロボット制御の柔軟性、拡張性を高めつつ、機能安全を担保することができる。
8 ロボット
30 ロボットコントロールシステム
31 コンピュータ
40 コントロールユニット
41 コントローラ
44 セーフティユニット
85 ロボットアーム
86 ロボットアーム
AC アクチュエータ
Da センサ
Da1 エンコーダ
J 関節
L リンク
Ma サーボモータ

Claims (11)

  1. ロボットの複数のアクチュエータの駆動を制御するコントローラと、複数の前記アクチュエータの動作異常を判定するためのセーフティユニットと、を備える、コントロールユニットと、
    前記コントロールユニットとは異なるエンクロージャに収容され、前記コントローラに、所定の通信プロトコルによる双方向通信が可能に接続されるコンピュータとを備え、
    前記コンピュータが、
    前記コントローラに、複数の前記アクチュエータの動作速度を指示する速度指令又は前記アクチュエータのトルクを指示するトルク指令を送信し、
    前記コントローラが、
    前記速度指令又は前記トルク指令を受信し、
    前記速度指令又は前記トルク指令に基づいて、複数の前記アクチュエータを駆動する駆動信号を生成して出力し、
    前記速度指令又は前記トルク指令に基づいて、前記速度指令又は前記トルク指令に対応する複数の前記アクチュエータの指令位置を推定し、
    前記セーフティユニットが、
    前記コントローラによって推定されたそれぞれの前記アクチュエータの指令位置と、前記アクチュエータの位置を検出するためのセンサを用いて検出されたそれぞれの前記アクチュエータの位置とを取得し、
    前記コントローラによって推定されたそれぞれの前記アクチュエータの指令位置と、前記センサを用いて検出されたそれぞれの前記アクチュエータの位置とに基づいて、複数の前記アクチュエータの動作異常を判定する、
    ロボットコントロールシステム。
  2. 請求項1に記載のロボットコントロールシステムにおいて、
    複数の前記アクチュエータは、前記ロボットの関節にそれぞれ位置する、
    ロボットコントロールシステム。
  3. 請求項2に記載のロボットコントロールシステムにおいて、
    前記ロボットは、垂直多関節式のロボットアームを有し、
    前記ロボットアームは、複数のリンクを有し、それぞれの前記リンク間が前記関節で接続され、
    前記コントローラは、前記速度指令又は前記トルク指令に対応する前記関節の指令位置を推定し、
    前記セーフティユニットは、前記コントローラによって推定されたそれぞれの前記関節の指令位置と、前記センサを用いて検出されたそれぞれの前記関節の位置とに基づいて、複数の前記アクチュエータの動作異常を判定する、
    ロボットコントロールシステム。
  4. 請求項1に記載のロボットコントロールシステムにおいて、
    前記コントローラは、
    前記速度指令又は前記トルク指令として、前記トルク指令を受信し、
    前記トルク指令に基づいて前記駆動信号を生成して出力し、
    前記トルク指令に基づいて、前記トルク指令に対応する複数の前記アクチュエータの指令位置を推定する、
    ロボットコントロールシステム。
  5. 請求項1に記載のロボットコントロールシステムにおいて、
    前記センサは、エンコーダ、レゾルバ、磁気センサの群から選択される1又は複数である、
    ロボットコントロールシステム。
  6. 請求項1に記載のロボットコントロールシステムにおいて、
    複数の前記アクチュエータは、サーボモータであり、
    前記センサは、前記サーボモータの回転方向及び回転角を測定するエンコーダであり、
    前記センサを用いて検出されたそれぞれの前記アクチュエータの位置は、前記エンコーダの測定値を基に算出される、
    ロボットコントロールシステム。
  7. 請求項1に記載のロボットコントロールシステムにおいて、
    前記所定の通信プロトコルは、GHz帯以上の通信帯域を有する、
    ロボットコントロールシステム。
  8. 請求項1に記載のロボットコントロールシステムにおいて、
    前記コントローラは、複数の前記アクチュエータの指令位置を推定するのに際して、所定の時間ごとに、複数の前記アクチュエータについて推定している前記指令位置の偏差をリセットする、
    ロボットコントロールシステム。
  9. 請求項8に記載のロボットコントロールシステムにおいて、
    複数の前記アクチュエータについて推定している前記指令位置は、前記ロボットの関節の指令位置であり、
    前記コントローラは、前記センサを用いて検出された前記ロボットのそれぞれの前記関節の位置をそれぞれの前記関節について推定されている前記指令位置に代入することで前記指令位置の偏差をリセットする、
    ロボットコントロールシステム。
  10. コントロールユニットであって、
    ロボットの複数のアクチュエータの駆動を制御するコントローラと、
    複数の前記アクチュエータの動作異常を判定するためのセーフティユニットと、を備え、
    前記コントローラが、
    前記コントロールユニットのエンクロージャの外側に位置するコンピュータから、速度指令又はトルク指令を受信し、
    前記速度指令又は前記トルク指令に基づいて、複数の前記アクチュエータを駆動する駆動信号を生成して出力し、
    前記速度指令又は前記トルク指令に基づいて、当該速度指令又は当該トルク指令に対応する複数の前記アクチュエータの指令位置を推定し、
    前記セーフティユニットが、
    前記コントローラによって推定されたそれぞれの前記アクチュエータの指令位置と、前記アクチュエータの位置を検出するためのセンサを用いて検出されたそれぞれの前記アクチュエータの位置とを取得し、
    前記コントローラによって推定されたそれぞれの前記アクチュエータの指令位置と、前記センサを用いて検出されたそれぞれの前記アクチュエータの位置とに基づいて、複数の前記アクチュエータの動作異常を判定する、
    コントロールユニット。
  11. ロボットの複数のアクチュエータの駆動を制御するコントロールユニットによる前記ロボットの制御方法であって、
    前記コントロールユニットが、
    前記コントロールユニットのエンクロージャの外側に位置するコンピュータから、速度指令又はトルク指令を受信し、
    前記速度指令又は前記トルク指令に基づいて、複数の前記アクチュエータを駆動する駆動信号を生成して出力し、
    前記速度指令又は前記トルク指令に基づいて、前記速度指令又は前記トルク指令に対応する複数の前記アクチュエータの指令位置を推定し、
    前記アクチュエータの位置を検出するためのセンサを用いて検出されたそれぞれの前記アクチュエータの位置を取得し、
    前記推定されたそれぞれの前記アクチュエータの指令位置と、前記センサを用いて検出されたそれぞれの前記アクチュエータの位置とに基づいて、複数の前記アクチュエータの動作異常を判定する、
    ロボットの制御方法。
JP2025059243A 2025-03-31 2025-03-31 ロボットコントロールシステム、コントロールユニット及びロボットの制御方法 Active JP7874769B1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2025059243A JP7874769B1 (ja) 2025-03-31 2025-03-31 ロボットコントロールシステム、コントロールユニット及びロボットの制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2025059243A JP7874769B1 (ja) 2025-03-31 2025-03-31 ロボットコントロールシステム、コントロールユニット及びロボットの制御方法

Publications (1)

Publication Number Publication Date
JP7874769B1 true JP7874769B1 (ja) 2026-06-16

Family

ID=100122841

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2025059243A Active JP7874769B1 (ja) 2025-03-31 2025-03-31 ロボットコントロールシステム、コントロールユニット及びロボットの制御方法

Country Status (1)

Country Link
JP (1) JP7874769B1 (ja)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001287180A (ja) * 2000-04-04 2001-10-16 Sony Corp ロボット遠隔制御システム、並びに、ソフトウェア配布方法
JP2005186183A (ja) * 2003-12-25 2005-07-14 Nachi Fujikoshi Corp 産業用ロボットおよびその異常判断方法
JP2011152611A (ja) * 2010-01-27 2011-08-11 Kawasaki Heavy Ind Ltd ロボット制御システム
JP2016531669A (ja) * 2013-08-09 2016-10-13 インテュイティブ サージカル オペレーションズ, インコーポレイテッド 複数の遠位に収容されるモータを制御する遠隔電流コントローラを備える医療ロボットシステム
JP2023033980A (ja) * 2021-08-30 2023-03-13 パナソニックIpマネジメント株式会社 ロボット制御システム、機器間通信方法及びプログラム
JP2023088149A (ja) * 2021-12-14 2023-06-26 東洋電機製造株式会社 同期運転装置
WO2025053285A1 (ja) * 2023-09-08 2025-03-13 技術研究組合 産業用ロボット次世代基礎技術研究機構 プログラム、記憶媒体、情報処理装置、システム及びロボットの動作を制御する方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001287180A (ja) * 2000-04-04 2001-10-16 Sony Corp ロボット遠隔制御システム、並びに、ソフトウェア配布方法
JP2005186183A (ja) * 2003-12-25 2005-07-14 Nachi Fujikoshi Corp 産業用ロボットおよびその異常判断方法
JP2011152611A (ja) * 2010-01-27 2011-08-11 Kawasaki Heavy Ind Ltd ロボット制御システム
JP2016531669A (ja) * 2013-08-09 2016-10-13 インテュイティブ サージカル オペレーションズ, インコーポレイテッド 複数の遠位に収容されるモータを制御する遠隔電流コントローラを備える医療ロボットシステム
JP2023033980A (ja) * 2021-08-30 2023-03-13 パナソニックIpマネジメント株式会社 ロボット制御システム、機器間通信方法及びプログラム
JP2023088149A (ja) * 2021-12-14 2023-06-26 東洋電機製造株式会社 同期運転装置
WO2025053285A1 (ja) * 2023-09-08 2025-03-13 技術研究組合 産業用ロボット次世代基礎技術研究機構 プログラム、記憶媒体、情報処理装置、システム及びロボットの動作を制御する方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20251121

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20251121

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20251121

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20251121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20260217

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20260417

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20260512

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20260604

R150 Certificate of patent or registration of utility model

Ref document number: 7874769

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150