IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社東芝の特許一覧 ▶ 東芝電機サービス株式会社の特許一覧

特許7437910制御システム、制御方法、ロボットシステム、プログラム、及び記憶媒体
<>
  • 特許-制御システム、制御方法、ロボットシステム、プログラム、及び記憶媒体 図1
  • 特許-制御システム、制御方法、ロボットシステム、プログラム、及び記憶媒体 図2
  • 特許-制御システム、制御方法、ロボットシステム、プログラム、及び記憶媒体 図3
  • 特許-制御システム、制御方法、ロボットシステム、プログラム、及び記憶媒体 図4
  • 特許-制御システム、制御方法、ロボットシステム、プログラム、及び記憶媒体 図5
  • 特許-制御システム、制御方法、ロボットシステム、プログラム、及び記憶媒体 図6
  • 特許-制御システム、制御方法、ロボットシステム、プログラム、及び記憶媒体 図7
  • 特許-制御システム、制御方法、ロボットシステム、プログラム、及び記憶媒体 図8
  • 特許-制御システム、制御方法、ロボットシステム、プログラム、及び記憶媒体 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-15
(45)【発行日】2024-02-26
(54)【発明の名称】制御システム、制御方法、ロボットシステム、プログラム、及び記憶媒体
(51)【国際特許分類】
   B25J 9/22 20060101AFI20240216BHJP
   G05B 19/414 20060101ALI20240216BHJP
【FI】
B25J9/22 A
G05B19/414 R
【請求項の数】 17
(21)【出願番号】P 2019196794
(22)【出願日】2019-10-29
(65)【公開番号】P2021070077
(43)【公開日】2021-05-06
【審査請求日】2022-10-24
【新規性喪失の例外の表示】特許法第30条第2項適用 発行者名 株式会社 東芝 刊行物名 東芝レビュー74巻4号(2019 Vol.74 No.04) 発行年月日 2019年7月20日付発行 ウェブサイトの掲載日 令和1年7月23日 ウェブサイトのアドレス http://www.toshiba.co.jp/tech/review/2019/04/index_j.htm http://www.toshiba.co.jp/tech/review/2019/04/74_04pdf/a04.pdf
(73)【特許権者】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(73)【特許権者】
【識別番号】598076591
【氏名又は名称】東芝インフラシステムズ株式会社
(74)【代理人】
【識別番号】110004026
【氏名又は名称】弁理士法人iX
(72)【発明者】
【氏名】平栗 一磨
(72)【発明者】
【氏名】河合 宏文
【審査官】神山 貴行
(56)【参考文献】
【文献】特開2017-134722(JP,A)
【文献】特開2004-078895(JP,A)
【文献】特開2001-191277(JP,A)
【文献】国際公開第2005/085973(WO,A1)
【文献】米国特許出願公開第2014/0277743(US,A1)
【文献】特開平8-155867(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00-21/02
G05B 19/18-19/416
G05B 19/42-19/46
(57)【特許請求の範囲】
【請求項1】
ロボットを制御する制御システムであって、
前記ロボットのコントローラで使用される制御コマンド仕様とは異なる仕様で表された第1コマンドを送信する第1システムと、
送信された前記第1コマンドを識別し、前記第1コマンドに対応した識別コードを取得し、記憶された付帯データから、識別された前記第1コマンドに対応する前記付帯データを取得し、前記識別コードを前記制御コマンド仕様に応じた第2コマンドに変換し、かつ取得された前記付帯データを前記第2コマンドに付与して前記コントローラに送信する第2システムと、
を備えた制御システム。
【請求項2】
前記第2システムは、導入部及び調整部を有し、
前記導入部は前記第1コマンドを受信すると前記調整部が識別可能な前記識別コード及び前記付帯データを取得し、前記付帯データに前記識別コードを付与して前記調整部へ送信し、
前記調整部は、受信した前記識別コードを前記第2コマンドに変換し、前記第2コマンドに前記付帯データを付与して前記コントローラに送信する請求項1記載の制御システム。
【請求項3】
前記第2コマンドに前記付帯データを付与する際、付帯データに対する追加データの付与、付帯データの少なくとも一部の変換、及び付帯データの一部の削除の少なくともいずれかを含む第1処理が実行される請求項1又は2に記載の制御システム。
【請求項4】
前記第2システムは、通信部を有し、
前記通信部は、前記付帯データを付与した前記第2コマンドを、前記コントローラが受信可能な形式に変換し、前記コントローラに送信する請求項1~3のいずれか1つに記載の制御システム。
【請求項5】
前記第2システムには、第1ソフトウェアと、前記第1ソフトウェアの機能を拡張する第2ソフトウェアと、が用いられ、
前記コントローラに応じて前記第2ソフトウェアが変更される請求項1~4のいずれか1つに記載の制御システム。
【請求項6】
請求項1~5のいずれか1つに記載の前記制御システムと、
前記制御システムと接続された前記ロボットと、
を備えたロボットシステム。
【請求項7】
前記ロボットは、垂直多関節のロボットアームを有する請求項6記載のロボットシステム。
【請求項8】
複数の前記制御システムと、
前記複数の制御システムにそれぞれ接続された複数の前記ロボットと、
を備え、
前記複数のロボットのコントローラで使用される制御コマンド仕様は、互いに異なる請求項6又は7に記載のロボットシステム。
【請求項9】
ロボットを動作させるための制御コマンド仕様とは異なる仕様で表された第1コマンドを受信し、
受信した前記第1コマンドを識別し、
前記第1コマンドに対応した識別コードを取得し、
記憶された付帯データから、識別された前記第1コマンドに対応する前記付帯データを取得し、
前記識別コードを前記制御コマンド仕様に応じた第2コマンドに変換し、
取得された前記付帯データを前記第2コマンドに付与する、制御システム。
【請求項10】
導入部及び調整部としての機能を備え、
前記導入部は、前記第1コマンドを受信すると、前記調整部が識別可能な識別コード及び前記付帯データを取得し、前記付帯データに前記識別コードを付与して前記調整部へ送信し、
前記調整部は、受信した前記識別コードを前記第2コマンドに変換し、前記第2コマンドに前記付帯データを付与する、請求項9記載の制御システム。
【請求項11】
前記第2コマンドに前記付帯データを付与する際、付帯データに対する追加データの付与、付帯データの少なくとも一部の変換、及び付帯データの一部の削除の少なくともいずれかを含む第1処理が実行される請求項9又は10に記載の制御システム。
【請求項12】
ロボットを制御する制御方法であって、
前記ロボットのコントローラで使用される制御コマンド仕様とは異なる仕様で表された第1コマンドを第1システムから送信し、
第2システムにおいて、送信された前記第1コマンドを識別し、前記第1コマンドに対応した識別コードを取得し、記憶された付帯データから、識別された前記第1コマンドに対応する前記付帯データを取得し、前記識別コードを前記制御コマンド仕様に応じた第2コマンドに変換し、かつ取得された前記付帯データを前記第2コマンドに付与して前記コントローラに送信する制御方法。
【請求項13】
前記第2システムの導入部において、前記第2システムの調整部が識別可能な前記識別コード及び前記付帯データを取得し、前記付帯データに前記識別コードを付与して前記調整部へ送信し、
前記調整部において、受信した前記識別コードを前記第2コマンドに変換し、前記第2コマンドに取得された前記付帯データを付与して前記コントローラに送信する請求項12記載の制御方法。
【請求項14】
前記第2コマンドに前記付帯データを付与する際、付帯データに対する追加データの付与、付帯データの少なくとも一部の変換、及び付帯データの一部の削除の少なくともいずれかを含む第1処理を実行する請求項12又は13に記載の制御方法。
【請求項15】
ロボットを制御する制御システムに、
ロボットを動作させるための制御コマンド仕様とは異なる仕様で表された第1コマンドを受信させ、
受信した前記第1コマンドを識別させ、
前記第1コマンドに対応した識別コードを取得させ、
記憶された付帯データから、識別された前記第1コマンドに対応する前記付帯データを取得させ、
前記識別コードを前記制御コマンド仕様に応じた第2コマンドに変換させ、
取得された前記付帯データを前記第2コマンドに付与させる、
制御方法。
【請求項16】
請求項12~15のいずれか1つに記載の制御方法をコンピュータに実行させるプログラム。
【請求項17】
請求項16に記載のプログラムを記憶した記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、制御システム、制御方法、ロボットシステム、プログラム、及び記憶媒体に関する。
【背景技術】
【0002】
複数のロボットを共通のシステムで制御する技術がある。共通のシステムで制御する際には、ロボットの性能をより発揮できることが望ましい。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2000-10614号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明が解決しようとする課題は、ロボットの性能をより発揮できる、制御システム、制御方法、ロボットシステム、プログラム、及び記憶媒体を提供することである。
【課題を解決するための手段】
【0005】
実施形態に係る制御システムは、ロボットを制御する。前記制御システムは、第1システム及び第2システムを備える。前記第1システムは、前記ロボットのコントローラで使用される制御コマンドとは異なる仕様で表された第1コマンドと、前記第1コマンドに対応する付帯データと、を送信する。前記第2システムは、前記第1コマンドに基づいて前記制御コマンド仕様に応じた第2コマンドを生成し、前記付帯データを前記第2コマンドに付与して前記コントローラに送信する。
【図面の簡単な説明】
【0006】
図1】実施形態に係る制御システムの構成を表す模式図である。
図2】実施形態に係る制御システムの具体的な機能を表す模式図である。
図3】実施形態に係る制御システムにおける具体的な処理を例示する模式図である。
図4】実施形態に係る制御システムで使用される共通コマンドの一例を表す表である。
図5】実施形態に係る制御システムで使用される付帯データの形式の一例を表す表である。
図6】実施形態に係る制御システムの第2システムの構成例を表す模式図である。
図7】実施形態に係るロボットシステムの構成を表す模式図である。
図8】実施形態の変形例に係るロボットシステムの構成を表す模式図である。
図9】実施形態に係る制御システムのハードウェア構成を表す模式図である。
【発明を実施するための形態】
【0007】
以下に、本発明の各実施形態について図面を参照しつつ説明する。
本願明細書と各図において、既に説明したものと同様の要素には同一の符号を付して詳細な説明は適宜省略する。
【0008】
図1は、実施形態に係る制御システムの構成を表す模式図である。
図1に表すように、実施形態に係る制御システム100は、第1システム110、第2システム120、及び記憶部130を有する。実施形態に係る制御システム100は、ロボットの制御コマンド仕様に拘わらず、共通の仕様によってロボットを制御するために用いられる。
【0009】
第1システム110は、制御システム100におけるスケジュール管理、認識などを担う。第2システム120は、第1システム110の下位システムとして機能し、第1システム110から送信されたコマンドに従ってロボットを制御する。記憶部130は、制御システム100の処理に必要なデータ、制御システム100が取得したデータなどを記憶する。
【0010】
図1に表した例では、制御システム100を介してロボット1~3の少なくともいずれかが制御される。ロボット1~3は、ロボットアーム11~13及びコントローラ21~23をそれぞれ有する。コントローラ21~23は、ロボットアーム11~13をそれぞれ制御する。制御システム100は、コントローラ21~23の少なくともいずれかにコマンドを送信する。コントローラ21~23は、制御システム100から送信されたコマンドに従ってロボットアーム11~13をそれぞれ制御する。
【0011】
例えば、ロボット1~3のメーカが互いに異なると、ロボット1~3の制御コマンド仕様が異なる。この場合、制御システム100は、各コントローラの制御コマンド仕様に沿ったコマンドを送信する。「制御コマンド仕様」とは、ロボットを制御するために、メーカ毎に独自に決められた専用文字列又は数字等で表された命令形式を指す。ロボットの制御は、例えば、ロボットの動作、コントローラのシステム設定変更、プログラムの起動又は停止、などを含む。
【0012】
第1システム110は、例えば、行動計画部111、認識部112、生産管理部113、及び記帳部114を有する。
行動計画部111は、予め作成された計画を参照し、どのロボットを、いつ、どのように動かすかを作業要素ごとに管理する。認識部112は、カメラ及びその他のセンサから送信されたデータを収集する。収集されたデータは、ロボットで搬送されるワークがどこにあるか、ロボットはどのような状態にあるか、などを示す。
【0013】
例えば、記憶部130は、ロボットの基本的な種々の動作を示す動作データを記憶している。行動計画部111は、動作データを参照し、認識部112によって収集されたデータに基づいて動作データを修正する。行動計画部111は、修正した動作データとともに、計画に沿ってロボットを動作させるためのコマンドを送信する。
【0014】
生産管理部113は、ロボットの動作の実績を管理する。行動計画部111は、生産管理部113で管理される実績と計画を対比することで、作業の進捗を管理する。記帳部114は、制御システム100が取得したデータをデータベースに保存する。
【0015】
第2システム120は、例えば、動作制御部121、通信部122、設定管理部123、及び状態監視部124を有する。
動作制御部121は、第1システム110から送信されたコマンドに基づいて、ロボットのコントローラに送信されるコマンドを生成する。通信部122は、第2システム120とロボットとの間の通信を担う。例えば、通信部122は、ロボットへ送信されるデータ、及びロボットから受信したデータをプロトコル変換する。設定管理部123は、ロボットの各動作の初期設定値を管理する。状態監視部124は、ロボットの状態を監視する。
【0016】
図2は、実施形態に係る制御システムの具体的な機能を表す模式図である。
図1に示す第1システム110及び第2システム120の具体的な機能の一例について図2を参照して説明する。図2において、実線の矢印は、制御処理を表す。破線の矢印は、イベント通知を表す。イベント通知は、予めプログラムで規定された動きや信号入力が起こった時などに自発的にシステム内において、接続されているより上位の部位に送信される通知である。
【0017】
例えば図2に表したように、状態監視部124(図1に示す)は、状態配信制御部124aとしての機能を有する。動作制御部121(図1に示す)は、移動制御部121a及びシステム制御部121bとしての機能を有する。通信部122(図1に示す)は、通信制御部122aとしての機能を有する。認識部112(図1に示す)は、ロボットの状態を配信するように、状態配信制御部124aへコマンドを送信する。状態配信制御部124aは、コマンドを受信すると、認識部112へロボットの状態を配信する。認識部112は、配信された状態を取得する。また、状態配信制御部124aは、予め設定されたイベントが起きると、認識部112へロボットの状態を配信する。
【0018】
行動計画部111(図1に示す)は、ロボットの移動制御及びシステム制御に関するコマンドを移動制御部121a及びシステム制御部121bへそれぞれ送信する。移動制御部121aは、ロボットの移動制御に関するコマンドを受信する。移動制御部121aは、受信したコマンドのデータを調整し、通信制御部122aを介して、調整したデータを特定のロボットのコントローラに向けて送信する。また、移動制御部121aは、通信制御部122aを介してロボットの移動に関するデータをロボットから受信し、ロボットの姿勢を計算する。移動制御部121aは、算出された姿勢情報を行動計画部111及び生産管理部113(図1に示す)に送信する。システム制御部121bは、ロボットのコントローラの起動、停止、終了などのシステムの制御に関するデータを、通信制御部122aを介して、ロボットのコントローラに向けて送信する。
【0019】
通信制御部122aは、第2システム120とロボットのコントローラとの間の通信制御を実行する。移動制御部121a、システム制御部121b、及び状態配信制御部124aは、通信制御部122aを介してロボットに向けてデータを送信する。通信制御部122aは、移動制御部121a、システム制御部121b、及び状態配信制御部124aから発行されたコマンドを、ロボットのコントローラが受信及び解釈できる形式にプロトコル変換する。
【0020】
通信制御部122aは、移動制御部121a、システム制御部121b、及び状態配信制御部124aに対して共通に設けられても良いし、移動制御部121a、システム制御部121b、及び状態配信制御部124aのそれぞれに対して設けられても良い。
【0021】
制御システム100では、第1システム110と第2システム120との間で送信されるコマンドの形式は、ロボットの制御コマンド仕様に依存しない。例えば、第1システム110と第2システム120との間で送信されるコマンドの仕様は、ロボットの制御コマンド仕様とは異なる。
一例として、制御システム100には、制御コマンド仕様が互いに異なる複数のロボットから選択される任意の1つを接続可能である。第1システム110と第2システム120との間で送信されるコマンドの形式は、制御システム100に接続されるロボットの制御コマンド仕様に拘わらず共通である。例えば、図1に示すロボット1~3の制御コマンド仕様は互いに異なる。制御システム100にロボット1が接続されたときに第1システム110と第2システム120との間で送信されるコマンドの形式は、制御システム100にロボット2が接続されたときに第1システム110と第2システム120との間で送信されるコマンドの形式と同じであり、共通化されている。
別の一例として、ロボット1~3を制御するために、ロボット1~3にそれぞれ複数の制御システム100が接続される。例えば、ロボット1に接続された制御システム100の第1システム110と第2システム120との間で送信されるコマンドの形式は、ロボット2に接続された制御システム100の第1システム110と第2システム120との間で送信されるコマンドの形式と同じであり、共通化されている。
ここでは、上述したように、制御システム100に接続されるロボットの制御コマンド仕様に依存せずに、共通の仕様で表されたコマンドを「共通コマンド」又は「第1コマンド」という。
【0022】
実施形態に係る制御システム100では、第1システム110が、ロボットの制御コマンド仕様に依存しない共通のソフトウェアプラットフォームとして機能する。第2システム120が、第1システム110から見て、ロボットのコントローラインターフェースとして機能する。
【0023】
具体的な一例として、状態配信では、Robot Operating System - Industrial(ROS-i)のindustrial_msgs::RobotStatusの仕様に準拠するとともに、そのほかの詳細なデータを付与する仕様で、データの配信及び取得が実行される。ロボットアームの関節角度の配信は、ROSの仕様であるsensor_msgs::JointStateを用いて実行される。移動制御のインターフェースは、ROS-iの仕様であるtrajectory_msgs::JointTrajectoryを基礎とし、力覚制御などのROS-iで規格化されていない機能が追加される。第2システム120とロボットとの間の通信は、Transmission Control Protocol/Internet Protocol(TCP/IP)準拠又はUser Datagram Protocol(UDP)準拠のソケット通信機能により実行される。
【0024】
図3図5を参照して、実施形態に係る制御システムにおける具体的な処理を説明する。
【0025】
図3は、実施形態に係る制御システムにおける処理を表すフローチャートである。動作制御部121は、図3に表すように、導入部121-1及び調整部121-2としての機能を有する。導入部121-1は、ロボットの制御コマンド仕様に依存しない形式のデータを扱う。例えば、導入部121-1は、特定のロボットメーカが規定している制御コマンド仕様に依存せず、ロボットに期待する動作及び挙動を、より汎化された文字列や数値で表現されたデータを扱う。又は、導入部121-1が扱うデータは、特定のロボットメーカが規定している制御コマンド仕様に準じて表現されても良い。この場合、制御システム100に接続されるロボットの制御コマンド仕様に拘わらず、導入部121-1は、特定のロボットメーカの制御コマンド仕様に準じた形式のデータを扱う。すなわち、特定のロボットメーカの制御コマンド仕様を、制御コマンド仕様が互いに異なる複数のロボットに対する共通の仕様として扱う。調整部121-2は、実際に制御システム100に接続されるロボットの制御コマンド仕様に応じてデータを調整する。
【0026】
ロボットを制御するための共通コマンドが予め定義される。共通コマンドは、例えば記憶部130に記憶される。共通コマンドは、ロボットの制御コマンド仕様に依存しない共通言語で定義され、文字列で表すことができる。図4は、実施形態に係る制御システムで使用される共通コマンドの一例を表す表である。一例として、図4に表すように、ロボットを制御するための共通コマンドが定義される。また、各共通コマンドには、対応する識別コートが設定される。
【0027】
さらに、共通コマンドごとに、共通コマンドを用いてロボットを制御する際に必要となる付帯データが対応付けられる。付帯データは、ロボットの動作制御に必要な情報である。また、調整部121-2による付帯データの処理を容易とするために、付帯データの形式も定義される。付帯データ及びその形式は、例えば記憶部130に記憶される。図5は、実施形態に係る制御システムで使用される付帯データの形式の一例を表す表である。一例として、図5に表すように、付帯データの形式が共通コマンドごとに定義される。
【0028】
前述したように、行動計画部111は、ロボットを制御する際に、共通コマンドを第2システム120に送信する。図3に表すように、導入部121-1は、先ず、共通コマンドを受信したか定期的に監視する(ステップS1)。導入部121-1は、共通コマンドを受信したか判断する(ステップS2)。導入部121-1は、共通コマンドを受信したと判断すると、受信した共通コマンドを識別する(ステップS3)。導入部121-1は、識別した共通コマンドに対応する識別コードを取得する。識別コードは調整部121-2が処理し易い形式で表現されており、調整部121-2が共通コマンドを識別するために使用される。また、導入部121-1は、識別した共通コマンドに対応する付帯データを取得する(ステップS4)。導入部121-1は、この付帯データに、受信した共通コマンドに対応する識別コードを付与する(ステップS5)。導入部121-1は、付帯データ及び識別コードを、調整部121-2へ送信する(ステップS6)。
【0029】
図3に表すように、調整部121-2は、先ず、データを受信したか定期的に監視する(ステップS7)。調整部121-2は、データを受信したか判断する(ステップS8)。調整部121-2は、データを受信したと判断すると、受信した識別コードを、ロボットの制御コマンド仕様に応じた専用コマンド(第2コマンド)に変換する(ステップS9)。調整部121-2は、導入部121-1から送信された付帯データを、専用コマンドに付与する(ステップS10)。調整部121-2は、付帯データに対する第1処理を適宜実行する(ステップS11)。
【0030】
第1処理は、送信される専用コマンドに応じて実行される。第1処理では、付帯データに対する追加データの付与、付帯データの少なくとも一部の変換、及び付帯データの一部の削除の少なくともいずれかが実行される。例えば、追加データは、ロボットアームが移動する目標位置の座標系の定義、加速度などである。付帯データの少なくとも一部の変換では、単位変換、座標変換などが実行される。また、ある種類のデータに関して、コントローラが受信できる量に制限がある場合は、そのデータの一部を削除する。例えば、第1システム110からロボットに向けて、9軸分のデータが送信されたが、ロボットのコントローラが8軸分までしかデータが受信できない場合は、第1処理において1軸分のデータが削除される。
【0031】
調整部121-2は、第1処理が必要なときは、付帯データへの第1処理を実行する。第1処理の実行後、調整部121-2は、専用コマンド及び調整された付帯データを、ロボットのコントローラに向けて送信する(ステップS12)。第1処理が不要なときは、調整部121-2は、専用コマンド及び未調整の付帯データを、コントローラに向けて送信する。通信制御部122aは、コントローラに向けて送信されるデータをプロトコル変換し、コントローラに送る。
【0032】
図6は、実施形態に係る制御システムの第2システムの構成例を表す模式図である。
例えば、第2システム120は、制御部ごとにROSのソフトウェア構成単位であるパッケージで構成されている。図6の例では、第2システム120には、7個のパッケージが用いられている。移動制御部121a、システム制御部121b、及び状態配信制御部124aには、それぞれ基本パッケージが用意される。ロボットごとに追加又は修正が必要となる機能又は設定について、拡張パッケージが用意される。例えば、新たな種類のロボットに制御システム100を接続する場合、基本パッケージは変更せずに、拡張パッケージが適宜に変更(修正又は交換)される。一方で、通信制御部122aとして機能するパッケージは、ロボットのコントローラごとに異なる変換処理を実行するために、コントローラごとに用意される。このように、第2システム120に、コントローラに依存しない基本となる第1ソフトウェアと、コントローラに応じて第1ソフトウェアの機能を拡張する第2ソフトウェアと、が用いられることで、ロボットに対応した第2システム120の構築が容易となる。
【0033】
通信制御部122aは、さらに、ダミー応答を生成する機能を有しても良い。ダミー応答の機能は、制御システム100の構築中において、制御システム100にロボットのコントローラが接続されていないときに使用される。通信制御部122aは、専用コマンド及び付帯データを実際には送信せず、その専用コマンド及び付帯データに対する応答を、第1システム110に向けて返す。これにより、制御システム100の構築時に応答できるロボットが無い場合でも、実際のロボットと同様の応答を第1システム110が取得できる。例えば、制御システム100を構築する際のデバッグ作業等の効率を向上させることができる。
【0034】
実施形態の効果を説明する。
従来、ロボットは、単純な組立作業、塗装、溶接などの定型作業へ活用されている。近年では、さらに、物流やサービス業などの分野にも適用が拡大されている。定型作業では、同じ作業が繰り返し実行されるため、一般的には同じ種類の複数のロボットが活用される。これに対して、物流やサービス業については、非定型作業の自動化に対する要求が高まっている。非定型作業では、固定されていない作業が実行される。例えば、カメラ、センサなどによって取得されたデータに基づき、そのときの状況に応じた動作がロボットに求められる。また、非定型作業では、より多様な状況に対応できるように、互いに異なる複数種類のロボットを組み合わせて用いることが効果的である。
【0035】
制御コマンド仕様の互いに異なる複数のロボットを自動化する場合、上位システムでは、ロボットの制御コマンド仕様に依存しない共通のコマンドを使用できることが好ましい。例えば、共通の通信インターフェースで複数種類のロボットを制御するために、ROS-iコンソーシアムによって、Open Source Software(OSS)ライブラリが開発されている。OSSライブラリを用いることで、ロボットの制御コマンド仕様に拘わらず、共通の通信インターフェースを介して上位システムがロボットを制御できる。
しかし、OSSライブラリを用いた場合、各ロボットに共通して実行可能なコマンドのみがロボットのコントローラに向けて送信される。このため、上位システムからのコマンドでは、ロボットに固有の制御を実行させることができない。このため、ロボットの実現される性能が、本来備わっている性能よりも制限される。また、OSSライブラリは、動作条件に対応できないロボットには適用できない。
【0036】
実施形態に係る制御システム100では、ロボットに依存せずに共通化された共通コマンドに基づき、第2システム120が専用コマンドを生成する。さらに、第2システム120は、専用コマンドに対応した制御をロボットに実行させる際に、付帯データを専用コマンドに付与する。ロボットは、専用コマンドに対応した制御を実行する際に、付帯データを参照する。付帯データの参照により、例えば、ロボットアームにより細かな動作を実行させることができる。又は、ロボットに特有の制御を実行可能となる。又は、共通コマンドを変換した専用コマンドだけでは制御できないロボットを制御することが可能となる。実施形態によれば、共通化されたシステムでロボットを制御する際に、ロボットの性能をより発揮させることができる。
【0037】
上述した実施形態の説明では、導入部121-1が共通コマンドに対応する識別コードを取得し、調整部121-2がその識別コードを専用コマンドに変換する。この例に限らず、第2システム120において、共通コマンドから直接的に専用コマンドに変換されても良い。ただし、この場合、導入部121-1を実現させるためのプログラムが、調整部121-2を実現させるためのプログラムに比べて長大となる。識別コードを介して共通コマンドから専用コマンドへの変換が実行されることで、1つの機能部のプログラムが過度に長大となることを抑制できる。これにより、制御システム100の構築及びメンテナンスがより容易になる。
【0038】
好ましくは、第2システム120は、付帯データに対して第1処理を実行する。第1処理は、付帯データに対する追加データの付与、付帯データの少なくとも一部の変換、及び付帯データの一部の削除の少なくともいずれかを含む。第1処理が実行されることで、ロボットの制御コマンド仕様に応じて、付帯データがさらに最適化される。この結果、ロボットの性能をより発揮させることが可能となる。
【0039】
ロボットに関して、垂直多間接のロボットアームでは、水平多間接のロボットアームに比べて、制御が複雑となる。このため、垂直多間接のロボットアームでは、コントローラからロボットアームに送られるコマンドのデータ量も、水平多間接のロボットアームに比べて大きい。垂直多間接のロボットアームの本来の性能を実現させるためには、そのロボットアームの制御に応じたデータをコマンドに付帯させることが好ましい。このため、実施形態に係る制御システム100は、垂直多間接のロボットアームに好適に用いられる。特に、実施形態に係る制御システム100は、6軸以上の駆動軸数を有するロボットアームに対して好適に用いられる。
【0040】
図7は、実施形態に係るロボットシステムの構成を表す模式図である。
実施形態に係るロボットシステム200は、制御システム100と、制御システム100に接続されたロボットと、を備える。図7に表した例では、複数の制御システム100と、複数の制御システム100にそれぞれ接続された複数のロボット1~3と、を備える。
【0041】
例えば、ロボット1~3の制御コマンド仕様は、互いに異なる。しかし、この場合でも、ロボット1~3は、共通の制御システム100を用いてそれぞれ制御できる。例えば図6に表した拡張パッケージを、ロボット1~3の制御コマンド仕様に応じて修正又は交換することで、制御システム100をロボット1~3のいずれの制御コマンド仕様にも対応させることができる。
【0042】
また、制御システム100では、上述した通り、専用コマンドに付帯データが付与されて各ロボットのコントローラに送信される。このため、ロボットの性能をより発揮させることができる。例えば、ロボットシステム200によれば、ロボットの性能を高め、ロボットによる作業の効率や品質などを向上させることができる。
【0043】
図7に表したように、ロボットシステム200は、複数の制御システム100と接続された上位制御システム150を備えても良い。上位制御システム150は、複数の制御システム100を統括的に管理する。また、上位制御システム150は、制御システム100同士を連携させる。例えば、これにより、複数のロボットを協働させて1つの作業を実行させることが容易となる。
【0044】
図8は、実施形態の変形例に係るロボットシステムの構成を表す模式図である。
図8に表したロボットシステム210では、制御システム100が、1つの第1システム110と、複数の第2システム120と、を有する。第1システム110と複数の第2システム120との間でデータが送信される。複数の第2システム120は、ロボット1~3とそれぞれ接続される。
【0045】
図8に表したように、複数の第2システム120に対して第1システム110を共通化することも可能である。これにより、第1システム110によって複数の第2システム120が統括的に管理される。
【0046】
図9は、実施形態に係る制御システムのハードウェア構成を表す模式図である。
制御システム100は、図9に表したように、1つ以上のコンピュータ90によって実現される。コンピュータ90は、CPU91、メモリ92、通信インターフェース93、及びストレージインターフェース94を有する。
【0047】
メモリ92は、コンピュータ90の動作を制御するプログラムを記憶している。メモリ92には、コンピュータを、上述した、行動計画部111、認識部112、生産管理部113、記帳部114、動作制御部121、通信部122、設定管理部123、及び状態監視部124の少なくともいずれかとして機能させるために必要なプログラムが記憶されている。プログラムは、機能ごとに分割されていても良いし、ソースコードレベルで分割されていても良い。
【0048】
コンピュータ90は、通信インターフェース93を介してネットワーク95と接続される。例えば、複数のコンピュータ90がネットワーク95を介してデータを送信及び受信し、複数のコンピュータ90の協働により、制御システム100が実現される。
【0049】
コンピュータ90は、ストレージインターフェース94を介して記憶装置96と接続される。記憶装置96は、記憶部130として用いられる。記憶装置96は、コンピュータ90に組み込まれても良い。
【0050】
以上で説明した実施形態に係る制御システム、制御方法、及びロボットシステムによれば、ロボットの性能をより発揮させることができる。また、コンピュータを、制御システムとして動作させるためのプログラムを用いることで、同様の効果を得ることができる。
【0051】
上記の種々の情報の処理は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フレキシブルディスク及びハードディスクなど)、光ディスク(CD-ROM、CD-R、CD-RW、DVD-ROM、DVD±R、DVD±RWなど)、半導体メモリ、または、他の記録媒体に記録されても良い。
【0052】
例えば、記録媒体に記録された情報は、コンピュータ(または組み込みシステム)により読み出されることが可能である。記録媒体において、記録形式(記憶形式)は任意である。例えば、コンピュータは、記録媒体からプログラムを読み出し、このプログラムに基づいてプログラムに記述されている指示をCPUで実行させる。コンピュータにおいて、プログラムの取得(または読み出し)は、ネットワークを通じて行われても良い。
【0053】
記録媒体からコンピュータ(または組み込みシステム)にインストールされたプログラムに基づいてコンピュータ上で稼働している種々のソフトウェアにおいて、上記の情報の処理の少なくとも一部が実施されても良い。このソフトウェアは、例えば、OS(オペレーティングシステム)などを含む。このソフトウェアは、例えば、ネットワーク上で動作するミドルウェアなどを含んでも良い。
【0054】
実施形態に係る記録媒体は、上記の種々の情報の処理をコンピュータに実行させることのできるプログラムを記憶している。実施形態に係る記録媒体には、プログラムをLANまたはインターネットなどによりダウンロードして記憶された記録媒体も含まれる。複数の記録媒体に基づいて、上記の処理が行われても良い。
【0055】
実施形態に係るコンピュータは、1つ又は複数の装置(例えばパーソナルコンピュータなど)を含む。実施形態に係るコンピュータは、ネットワークにより接続された複数の装置を含んでも良い。
【0056】
以上、本発明のいくつかの実施形態を例示したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更などを行うことができる。これら実施形態やその変形例は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。また、前述の各実施形態は、相互に組み合わせて実施することができる。
【符号の説明】
【0057】
1~3 ロボット、 11~13 ロボットアーム、 21~23 コントローラ、 90 コンピュータ、 91 CPU、 92 メモリ、 93 通信インターフェース、 94 ストレージインターフェース、 95 ネットワーク、 96 記憶装置、 100 制御システム、 110 第1システム、 111 行動計画部、 112 認識部、 113 生産管理部、 114 記帳部、 120 第2システム、 121 動作制御部、 121-1 導入部、 121-2 調整部、 121a 移動制御部、 121b システム制御部、 122 通信部、 122a 通信制御部、 123 設定管理部、 124 状態監視部、 124a 状態配信制御部、 130 記憶部、 150 上位制御システム、 200,210 ロボットシステム
図1
図2
図3
図4
図5
図6
図7
図8
図9