JP2023111376A - ロボット制御システムおよび制御装置 - Google Patents

ロボット制御システムおよび制御装置 Download PDF

Info

Publication number
JP2023111376A
JP2023111376A JP2022013208A JP2022013208A JP2023111376A JP 2023111376 A JP2023111376 A JP 2023111376A JP 2022013208 A JP2022013208 A JP 2022013208A JP 2022013208 A JP2022013208 A JP 2022013208A JP 2023111376 A JP2023111376 A JP 2023111376A
Authority
JP
Japan
Prior art keywords
robot
control
command
generation module
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.)
Pending
Application number
JP2022013208A
Other languages
English (en)
Inventor
エスクデロ ディエゴ
Escudero-Rodrigo Diego
ペナルヴェル アントニオ
Penalver Antonio
アルホムシ サイード
Alhomshi Saeed
カルラス フェラン
Carlas Ferran
カサワット マジッド
Kasawat Majid
ヴィト ラファエレ
Vito Raffaele
嘉英 田村
Yoshihide Tamura
圭 安田
Kei Yasuda
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.)
Omron Corp
Original Assignee
Omron Corp
Omron Tateisi Electronics Co
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 Omron Corp, Omron Tateisi Electronics Co filed Critical Omron Corp
Priority to JP2022013208A priority Critical patent/JP2023111376A/ja
Publication of JP2023111376A publication Critical patent/JP2023111376A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Programmable Controllers (AREA)
  • Manipulator (AREA)

Abstract

【課題】ロボットの多様性に対して柔軟に対応できる技術を提供する。【解決手段】制御プログラムコードに従ってロボットを制御する制御システムは、制御プログラムコードを解釈することで逐次生成される中間表現に従ってロボットに対する制御指令を生成する制御装置と、制御装置と通信可能な開発支援装置とを含む。制御装置は、中間表現に対応する一連の命令からなる内部コマンドを生成する第1の生成モジュールと、内部コマンドに従って、ロボットを構成する1または複数のアクチュエータに対する指令値を制御周期毎に生成する第2の生成モジュールと、指令値を制御指令としてロボットへ送信する通信モジュールとを含む。開発支援装置は、ロボットに関する指定に応じて、第2の生成モジュールおよび通信モジュールの少なくとも一方を変更できるように構成されている。【選択図】図1

Description

本発明は、ロボット制御システムおよび制御装置に関する。
生産現場において、様々なロボットの導入および実用化が進行している。生産設備と連携してロボットを動作させる必要なども生じるため、共通の制御装置により1または複数のロボットを制御するような構成が開示されている(特許文献1~4参照)。
特開2021-142625号公報 特開2021-144586号公報 特開2021-144587号公報 特開2021-144588号公報
生産現場においては、多種多様なロボットが利用される。特定のロボットについては、処理および機能が他のロボットとは異なったものとなっていることもあり、共通の制御装置でこれらのロボットを制御する際の障壁となり得る。
本発明は、ロボットの多様性に対して柔軟に対応できる技術を提供することを目的としている。
本発明のある局面に従えば、制御プログラムコードに従ってロボットを制御する制御システムが提供される。制御システムは、制御プログラムコードを解釈することで逐次生成される中間表現に従ってロボットに対する制御指令を生成する制御装置と、制御装置と通信可能な開発支援装置とを含む。制御装置は、中間表現に対応する一連の命令からなる内部コマンドを生成する第1の生成モジュールと、内部コマンドに従って、ロボットを構成する1または複数のアクチュエータに対する指令値を制御周期毎に生成する第2の生成モジュールと、指令値を制御指令としてロボットへ送信する通信モジュールとを含む。開発支援装置は、ロボットに関する指定に応じて、第2の生成モジュールおよび通信モジュールの少なくとも一方を変更できるように構成されている。
この構成によれば、第2の生成モジュールおよび通信モジュールの少なくとも一方を変更することで、様々な種類のロボットを制御することができるので、ロボットの多様性に対して柔軟に対応できる。
開発支援装置は、制御指令をロボットへ送信するための通信プロトコルに応じて、通信モジュールを変更できるように構成されていてもよい。この構成によれば、制御対象のロボットの通信プロトコルに応じて柔軟に対応できる。
開発支援装置は、ロボットの機能に応じて、第2の生成モジュールを変更できるように構成されていてもよい。この構成によれば、制御対象のロボットの機能に応じて柔軟に対応できる。
変更後の第2の生成モジュールは、内部コマンドに従って、ロボットが移動すべき目標位置を逐次生成し、通信モジュールは、目標位置を制御指令としてロボットへ送信するようにしてもよい。この構成によれば、制御対象のロボットが制御アルゴリズムなどを有しているような場合であっても、柔軟に対応できる。
変更後の第2の生成モジュールは、内部コマンドをそのまま出力し、通信モジュールは、内部コマンドを制御指令としてロボットへ送信するようにしてもよい。この構成によれば、制御対象のロボットが内部コマンドを直接実行できる環境を有しているような場合であっても、柔軟に対応できる。
開発支援装置は、ロボットの種類に応じて、第2の生成モジュールおよび通信モジュールを一体で変更するようにしてもよい。この構成によれば、制御対象のロボットが有している機能および制御対象のロボットが使用する通信プロトコルの両方が標準的なものとは異なっていても、柔軟に対応できる。
第2の生成モジュールは、内部コマンドに従って、ロボットが移動すべき軌道を決定するようにしてもよい。この構成によれば、決定した軌道に従って、制御周期毎にロボットに対して制御指令を生成できる。
第2の生成モジュールは、ロボットの機構と1または複数のアクチュエータとの機械的な結合関係に基づいて、内部コマンドに対応する1または複数のアクチュエータの動作を決定するようにしてもよい。この構成によれば、アクチュエータの動作を決定する制御指令を正確に生成できる。
制御システムは、制御プログラムコードを解釈することで中間表現を逐次生成する第3の生成モジュールをさらに含んでいてもよい。この構成によれば、任意の高級言語で記述された制御プログラムコードを用いて、1または複数のロボット350を制御できる。
本発明の別の局面に従えば、制御プログラムコードに従ってロボットを制御する制御システムを構成する制御装置が提供される。制御装置は、制御プログラムコードを解釈することで逐次生成される中間表現に対応する一連の命令からなる内部コマンドを生成する第1の生成モジュールと、内部コマンドに従って、ロボットを構成する1または複数のアクチュエータに対する指令値を制御周期毎に生成する第2の生成モジュールと、指令値を制御指令としてロボットへ送信する通信モジュールとを含む。制御装置は、ロボットに関する指定に応じて、第2の生成モジュールおよび通信モジュールの少なくとも一方を変更できるように構成されている。
本発明によれば、ロボットの多様性に対して柔軟に対応することができる。
本実施の形態に係るロボット制御システムの適用例を示す模式図である。 本実施の形態に係るロボット制御システムの全体構成例を示す模式図である。 本実施の形態に係る制御装置のハードウェア構成例を示す模式図である。 本実施の形態に係る制御装置のハードウェア構成例を示す模式図である。 本実施の形態に係るロボットコントローラのハードウェア構成例を示す模式図である。 本実施の形態に係る開発支援装置のハードウェア構成例を示す模式図である。 本実施の形態に係るロボット制御システムの標準制御に係る機能構成例を示す模式図である。 図7に示す機能構成例における処理を説明するための模式図である。 本実施の形態に係るロボット制御システムの他社製ロボット制御に係る機能構成例を示す模式図である。 本実施の形態に係るロボット制御システムの制御アルゴリズムを有するロボットの制御に係る機能構成例を示す模式図である。 本実施の形態に係るロボット制御システムのモバイルロボットの制御に係る機能構成例を示す模式図である。 本実施の形態に係るロボット制御システムのロボット制御部を変更するための実装例を示す模式図である。 本実施の形態に係るロボット制御システムのロボット制御部を変更するための別の機能構成例を示す模式図である。 本実施の形態に係るロボット制御システムの開発支援装置が提供する設定画面の一例を示す模式図である。 本実施の形態に係るロボット制御システムの開発支援装置が実行する処理手順の一例を示すフローチャートである。 本実施の形態に係るロボット制御システムの変形例を示す模式図である。
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
<A.適用例>
まず、図1を参照して、本発明が適用される場面の一例について説明する。
図1は、本実施の形態に係るロボット制御システム1の適用例を示す模式図である。図1を参照して、ロボット制御システム1は、制御プログラムコード30に従ってロボット350を制御する。典型的には、ロボット制御システム1は、解釈部50と、統合指示部60と、ロボット制御部70とを含む。
解釈部50は、制御装置100または制御装置200(図2参照)に実装され、制御プログラムコード30を解釈することで中間表現を逐次生成する。統合指示部60は、制御装置200(図2参照)に実装され、中間表現をロボット制御部70へ提供する。
ロボット制御部70は、制御装置200またはロボットコントローラ300(図2参照)に実装され、逐次生成される中間表現に従ってロボット350に対する制御指令を生成する。
ロボット制御部70は、上位通信部71と、ルーチン管理部72と、コマンド格納部73と、指令値生成部74と、ロボット通信部75とを含む。
上位通信部71およびルーチン管理部72は、第1の生成モジュールに相当し、中間表現に対応する一連の命令からなる内部コマンドを生成する。
指令値生成部74は、第2の生成モジュールに相当し、内部コマンドに従って、ロボット350を構成する1または複数のアクチュエータに対する指令値を制御周期毎に生成する。
ロボット通信部75は、通信モジュールに相当し、指令値を制御指令としてロボット350へ送信する。
制御装置200と通信可能な開発支援装置400(図2参照)は、ロボット350に関する指定に応じて、指令値生成部74(第2の生成モジュール)およびロボット通信部75(通信モジュール)の少なくとも一方を変更できるように構成されている。すなわち、ロボット制御システム1においては、ロボット350の処理および機能に応じて、指令値生成部74および/またはロボット通信部75が変更可能になっている。このような構成を採用することで、ロボット350の多様性に対して柔軟に対応できる。
<B.ハードウェア構成例>
次に、本実施の形態に係るロボット制御システム1のハードウェア構成例について説明する。
(b1:全体構成例)
図2は、本実施の形態に係るロボット制御システム1の全体構成例を示す模式図である。図2を参照して、ロボット制御システム1は、制御プログラムコード30に従ってロボット350を制御する。より具体的には、ロボット制御システム1は、制御装置100と、制御装置200と、1または複数のロボットコントローラ300-1,300-2,300-3,300-4,…(以下、「ロボットコントローラ300」とも総称する。)とを含む。
制御装置100は、任意の制御プログラムコード30を逐次解釈して、制御装置200を介してロボットコントローラ300へ送信される命令を逐次生成する。制御プログラムコードは、例えば、任意の高級言語(例えば、V+言語などのロボット制御用プログラミング言語やGコードなどのNC制御に係るプログラミング言語)で記述されていてもよい。
制御装置200は、制御装置100からの命令に従って、ロボットコントローラ300に対して命令を送信する。より具体的には、制御装置200は、制御プログラムコード30を解釈することで逐次生成される中間表現に従って350ロボットに対する制御指令を生成する。
制御装置100と制御装置200とは、上位ネットワーク10を介して接続されている。上位ネットワーク10には、産業用ネットワーク用のプロトコルであるやEtherNet/IPなどを用いることができる。
ロボットコントローラ300-1,300-2,300-3,300-4,…は、ロボット350-1,350-2,350-3,350-4,…(以下、「ロボット350」とも総称する。)をそれぞれ制御する。後述するように、本実施の形態に係るロボット制御システム1は、様々な種類のロボット350を制御可能なプラットフォームを提供する。
ロボットコントローラ300は、フィールドネットワーク20を介して制御装置200に接続されている。フィールドネットワーク20には、産業用ネットワーク用のプロトコルである、EtherCAT(登録商標)やEtherNet/IPなどを用いることができる。なお、制御装置200とロボットコントローラ300との間は、定周期通信が可能であることが好ましい。
制御装置100および/または制御装置200には、開発支援装置400が接続可能になっていてもよい。すなわち、開発支援装置400は、制御装置100および/または制御装置200と通信可能であってもよい。
制御装置100および制御装置200に加えて、上位ネットワーク10には表示装置500が接続されていてもよい。
説明の便宜上、4組のロボットコントローラ300およびロボット350を例示するが、ロボットコントローラ300およびロボット350の組が複数存在する必要は必ずしもなく、少なくとも1つの組が存在すればよい。
(b2:制御装置100)
図3は、本実施の形態に係る制御装置100のハードウェア構成例を示す模式図である。図3を参照して、制御装置100は、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)などのプロセッサ102と、メインメモリ104と、入力部106と、表示部108と、ストレージ110と、USBコントローラ120と、ネットワークコントローラ122とを含む。これらのコンポーネントは、バス130を介して接続される。
プロセッサ102は、ストレージ110に格納された各種プログラムを読み出して、メインメモリ104に展開して実行することで、制御装置100で必要な処理を実現する。
ストレージ110は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)などで構成される。ストレージ110には、典型的には、OS112と、システムプログラム114とが格納される。また、ストレージ110には、制御プログラムコード30が格納される場合もある。なお、ストレージ110には、図3に示すプログラム以外の必要なプログラムが格納されてもよい。
入力部106は、マウス、キーボード、タッチパネルなどで構成され、ユーザからの指示を受け付ける。表示部108は、ディスプレイ、各種インジケータなどで構成され、プロセッサ102からの処理結果などを出力する。
USBコントローラ120は、USB接続を介して、任意の情報処理装置との間でデータをやり取りする。
ネットワークコントローラ122は、任意のネットワークを介して、任意の情報処理装置との間でデータをやり取りする。
光学ドライブ124は、コンピュータ読取可能なプログラムを非一過的に格納する記録媒体126(例えば、DVD(Digital Versatile Disc)などの光学記録媒体)からプログラムを読み取って、ストレージ110などに格納する。
制御装置100で実行される各種プログラムは、コンピュータ読取可能な記録媒体126を介してインストールされてもよいが、ネットワーク上の任意のサーバからダウンロードする形でインストールするようにしてもよい。
(b3:制御装置200)
図4は、本実施の形態に係る制御装置200のハードウェア構成例を示す模式図である。図4を参照して、制御装置200は、プロセッサ202と、メインメモリ204と、ストレージ210と、上位ネットワークコントローラ206と、フィールドネットワークコントローラ208と、USB(Universal Serial Bus)インターフェイスを提供するUSBコントローラ220と、メモリカードインターフェイス222とを含む。これらのコンポーネントは、プロセッサバス230を介して接続されている。
プロセッサ202は、制御演算を実行する演算処理部に相当し、CPUやGPU(Graphics Processing Unit)などで構成される。具体的には、プロセッサ202は、ストレージ210に格納されたプログラムを読み出して、メインメモリ204に展開して実行することで、制御対象に対する制御演算を実現する。
メインメモリ204は、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)などの揮発性記憶装置などで構成される。ストレージ210は、例えば、SSDやHDDなどの不揮発性記憶装置などで構成される。
ストレージ210には、基本的な機能を実現するためのシステムプログラム212などが格納される。
上位ネットワークコントローラ206は、上位ネットワーク10を介して、任意の情報処理装置(図2に示される制御装置100および表示装置500など)との間でデータをやり取りする。
フィールドネットワークコントローラ208は、フィールドネットワーク20を介して、ロボットコントローラ300との間でデータをやり取りする。
USBコントローラ220は、USB接続を介して、任意の情報処理装置との間でデータをやり取りする。
メモリカードインターフェイス222は、着脱可能な記憶媒体の一例であるメモリカード224を受け付ける。メモリカードインターフェイス222は、メモリカード224に対して任意のデータの読み書きが可能になっている。
(b4:ロボットコントローラ300)
図5は、本実施の形態に係るロボットコントローラ300のハードウェア構成例を示す模式図である。図5を参照して、ロボットコントローラ300は、フィールドネットワークコントローラ310と、制御処理回路320とを含む。
フィールドネットワークコントローラ310は、フィールドネットワーク20を介して、主として、制御装置200との間でデータをやり取りする。
制御処理回路320は、ロボットを駆動するために必要な演算処理を実行する。一例として、制御処理回路320は、プロセッサ322と、メインメモリ324と、ストレージ326と、インターフェイス回路330とを含む。
プロセッサ322は、ロボットを駆動するための制御演算を実行する。メインメモリ324は、例えば、DRAMやSRAMなどの揮発性記憶装置などで構成される。ストレージ326は、例えば、SSDやHDDなどの不揮発性記憶装置などで構成される。
ストレージ326には、ロボット350の制御を実現するためのシステムプログラム328が格納される。
インターフェイス回路330は、ロボット350との間で信号をやり取りする。
(b5:開発支援装置400)
図6は、本実施の形態に係る開発支援装置400のハードウェア構成例を示す模式図である。図6を参照して、開発支援装置400は、CPUやGPUなどのプロセッサ402と、メインメモリ404と、入力部406と、表示部408と、ストレージ410と、USBコントローラ420と、ネットワークコントローラ428と、光学ドライブ424とを含む。これらのコンポーネントは、バス430を介して接続される。
プロセッサ402は、ストレージ410に格納された各種プログラムを読み出して、メインメモリ404に展開して実行することで、開発支援装置400で必要な処理を実現する。
ストレージ410は、例えば、HDDやSSDなどで構成される。ストレージ410には、典型的には、OS412と、後述するような処理を実現するための開発支援プログラム414とが格納される。なお、ストレージ410には、図6に示すプログラム以外の必要なプログラムが格納されてもよい。
入力部406は、マウス、キーボード、タッチパネルなどで構成され、ユーザからの指示を受け付ける。表示部408は、ディスプレイ、各種インジケータなどで構成され、プロセッサ402からの処理結果などを出力する。
USBコントローラ420は、USB接続を介して、任意の情報処理装置との間でデータをやり取りする。
ネットワークコントローラ428は、任意のネットワークを介して、任意の情報処理装置との間でデータをやり取りする。
光学ドライブ424は、コンピュータ読取可能なプログラムを非一過的に格納する記録媒体426(例えば、DVDなどの光学記録媒体)からプログラムを読み取って、ストレージ410などに格納する。
開発支援装置400で実行される各種プログラムは、コンピュータ読取可能な記録媒体426を介してインストールされてもよいが、ネットワーク上の任意のサーバからダウンロードする形でインストールするようにしてもよい。
(b6:表示装置500)
本実施の形態に係る表示装置500は、一例として、汎用パソコンを用いて実現されてもよい。表示装置500の基本的なハードウェア構成例は、周知であるので、ここでは詳細な説明は行わない。
(b7:その他の形態)
図3~図6には、1または複数のプロセッサがプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASIC(Application Specific Integrated Circuit)またはFPGA(Field-Programmable Gate Array)など)を用いて実装してもよい。
また、本実施の形態に係るロボット制御システムの実現に必要な処理の一部または全部を、いわゆるクラウド上のコンピュータリソースを用いて実行するようにしてもよい。本実施の形態に係るロボット制御システムをどのようなハードウェアリソースおよびソフトウェアリソースを用いて実現するのかについては、任意に設計および選択できる事項である。
例えば、制御装置100および制御装置200を同一の処理装置上に実装してもよい。
<C.機能構成>
次に、本実施の形態に係るロボット制御システム1の機能(functionality)構成例について説明する。
(c1:標準制御)
図7は、本実施の形態に係るロボット制御システム1の標準制御に係る機能構成例を示す模式図である。図7を参照して、ロボット制御システム1は、標準制御に係る機能として、解釈部50と、統合指示部60と、1または複数のロボット制御部70とを含む。
解釈部50は、典型的には、制御装置100のプロセッサ102がシステムプログラム114を実行することで実現される。すなわち、解釈部50は、制御装置100に実装されてもよい。解釈部50は、制御プログラムコード30を逐次解釈し、中間表現を生成する。このように、解釈部50は、第3の生成モジュールに相当し、制御プログラムコード30を解釈することで中間表現を逐次生成する。解釈部50が生成する中間表現は、対象のロボット制御部70を特定するための識別情報を含む。
統合指示部60は、典型的には、制御装置200のプロセッサ202がシステムプログラム212を実行することで実現される。統合指示部60は、中間表現を1または複数のロボット制御部70へ順次送信する。統合指示部60は、解釈部50が生成する中間表現に含まれる識別情報に基づいて、当該中間表現の送信先となるロボット制御部70(ロボットコントローラ300)を決定する。統合指示部60は、中間表現から識別情報を除去することで新たな中間表現を生成し、送信先のロボット制御部70へ送信する。
ロボット制御部70は、典型的には、ロボットコントローラ300のプロセッサ322がシステムプログラム328を実行することで実現される。ロボット制御部70は、上位通信部71と、ルーチン管理部72と、コマンド格納部73と、指令値生成部74と、ロボット通信部75と、定周期サービス実行部76と、サブモジュール実行部77とを含む。
上位通信部71は、統合指示部60から中間表現を受信するとともに、受信した中間表現に対応する内部コマンドを生成する。
ルーチン管理部72は、ルーチンを格納するデータベース722を有している。ルーチンは、統合指示部60から受信した中間表現に対応する内部コマンドを生成するために参照される。ここで、ルーチンは、中間表現により指定された処理を実現するための一連の命令を意味する。ルーチンは、例えば、ファンクションおよび/またはプロシージャの形で実装されてもよい。
上位通信部71は、受信した中間表現に含まれる命令に対応するルーチンをルーチン管理部72(データベース722)から取得するとともに、取得したルーチンを用いて内部コマンドを生成し、コマンド格納部73へ出力する。上位通信部71は、受信した中間表現の実行結果などを統合指示部60へ通知する。
このように、上位通信部71およびルーチン管理部72は、第1の生成モジュールに相当し、中間表現に対応する一連の命令からなる内部コマンドを生成する。
コマンド格納部73は、上位通信部71が生成した内部コマンドを順次格納する。コマンド格納部73は、1または複数の内部コマンドを格納するためのキュー732を有している。コマンド格納部73は、対応する優先度およびタイプを命令に関連付けて格納している。
指令値生成部74は、コマンド格納部73が格納している内部コマンドに従って、制御周期毎の指令値を生成する。すなわち、指令値生成部74は、第2の生成モジュールに相当し、内部コマンドに従って、ロボット350を構成する1または複数のアクチュエータ(例えば、モータや油圧機構など)に対する指令値を制御周期毎に生成する。
より具体的には、指令値生成部74は、コマンド格納部73を参照して、内部コマンドに含まれるルーチンを実現するための、制御周期毎に実行される実行コードを生成する。そして、指令値生成部74は、生成した実行コードを制御周期毎に実行することで、制御対象のロボット350-1に対する指令値を制御周期毎に生成するとともに、制御周期毎にロボット350-1から必要な情報を取得する。
典型的には、指令値生成部74は、軌道生成やキネマティクス計算といった制御対象のロボット350-1に特有の制御アルゴリズム742を有している。指令値生成部74は、制御アルゴリズム742を参照することで、命令からロボット350-1に応じた指令値を生成できる。
より具体的には、指令値生成部74は、軌道生成の処理として、内部コマンドに従って、ロボット350が移動すべき軌道を決定する。また、指令値生成部74は、キネマティクス計算として、ロボット350の機構と1または複数のアクチュエータとの機械的な結合関係に基づいて、内部コマンドに対応する1または複数のアクチュエータの動作を決定する。
ロボット通信部75は、通信モジュールに相当し、指令値を制御指令としてロボット350へ送信する。より具体的には、ロボット通信部75は、指令値生成部74が制御周期毎に生成する指令値を制御対象のロボット350-1へ送信するとともに、指定された状態値を制御周期毎にロボット350-1から受信する。ロボット通信部75は、ロボット350-1と予め定められた通信プロトコルに従ってデータをやり取りする。
定周期サービス実行部76は、制御周期毎に更新される情報を処理する。例えば、定周期サービス実行部76は、ロボット通信部75が制御周期毎にロボット350-1から受信する状態値を上位通信部71を介して統合指示部60へ送信する。
サブモジュール実行部77は、ロボット制御部70に含まれる図示しないモジュールの実行を制御する。
図8は、図7に示す機能構成例における処理を説明するための模式図である。
図8を参照して、制御プログラムコード30は、2番目のロボットを(10,20,10)の位置に移動させるための一連の命令が記述されている。
解釈部50は、制御プログラムコード30を解釈して中間表現32を出力する。中間表現32は、「MoveRequest」という命令コードと、[10,20,10]および「Robot1」というオペランドとからなる命令を含む。
統合指示部60は、解釈部50からの中間表現32に含まれる「Robot1」というオペランドから、命令(中間表現)の送信先のロボットを特定する。また、統合指示部60は、中間表現32に含まれる、「MoveRequest」という命令コードおよび[10,20,10]というオペランドから新たな中間表現34を生成する。中間表現34は、「MoveCommand」という命令コードと、[10,20,10]というオペランドとからなる命令を含む。そして、統合指示部60は、中間表現34を「Robot1」に対応するロボット制御部70へ送信する。
ロボット制御部70の上位通信部71は、中間表現34に含まれる「MoveCommand」という命令コードに対応するルーチンをルーチン管理部72(データベース722)から取得する。より具体的には、上位通信部71は、「Motion Type」として「MoveCommand」を指定した上で、メソッドを実行することで、ルーチン要求36をルーチン管理部72へ送信する。ルーチン管理部72は、データベース722を参照して、指定された「Motion Type」に対応するルーチン38を抽出し、上位通信部71へ応答する。
上位通信部71は、取得したルーチン38を参照して、中間表現34から内部コマンド42を生成する。内部コマンド42は、コマンド格納部73に格納される。
内部コマンド42は、変数targetPositionに[10,20,10]をセットする命令421と、変数planにファンクションgenerateTrajectory(targetPosition)の実行結果をセットする命令422と、指令値生成部74にメソッドexecuteTrajectory(plan)を実行させる命令423とを含む。命令422は、変数targetPositionで指定された座標までの軌道を生成するためのファンクションであり、変数planには生成された軌道を示す座標群(通過すべき1または複数の座標)が格納される。命令423に記述されるメソッドexecuteTrajectory(plan)は、変数planにより示される軌道に沿って移動するための処理を実行する。
指令値生成部74は、コマンド格納部73から内部コマンド42を読み出して実行する。指令値生成部74は、内部コマンド42の命令423に記述されるメソッドexecuteTrajectory(plan)に対応する実行コード44を生成し、制御周期毎に実行する。
実行コード44は、制御周期毎の実行であることを示す命令441と、ロボット350-1の各軸の現在位置を取得するための命令442と、制御周期の各軸の指令位置(次の制御周期にあるべき位置)を算出するための命令443と、制御周期の各軸の指令位置(指令値)をロボット350-1へ送信するための命令444とを含む。命令442は、ロボット通信部75に対して、ロボット350-1の各軸の現在位置を要求するためのものである。命令444は、ロボット通信部75に指令位置のロボット350-1への送信をさせるためのものである。命令443は、制御アルゴリズム742を参照することで、実行される。
このように、本実施の形態に係るロボット制御システム1は、制御プログラムコード30を解釈してロボット350毎に中間表現を生成する解釈部50と、中間表現を各ロボット350へ送信する統合指示部60と、中間表現に従って指令値を周期的に生成するロボット制御部70とから構成される。このような機能構成を採用することで、システムの柔軟性を高めることができる。
本実施の形態に係るロボット制御システム1においては、上述した標準制御に加えて、指令値生成部74および/またはロボット通信部75を変更することで、様々な種類のロボット350を制御できる。より具体的には、開発支援装置400は、ロボット350に関する指定に応じて、指令値生成部74(第2の生成モジュール)およびロボット通信部75(通信モジュール)の少なくとも一方を変更できるように構成されている。
以下では、柔軟性を高めることで実現される応用的な構成例について説明する。
(c2:他社製ロボット制御)
次に、応用的な構成例として、他社製のロボット350-2を制御する構成例について説明する。
図9は、本実施の形態に係るロボット制御システム1の他社製ロボット制御に係る機能構成例を示す模式図である。図9を参照して、ロボット350-2は、指令値および状態値をやり取りするための通信プロトコルが標準的なロボット350-1とは異なっている。
この場合、ロボット350-2を制御するロボットコントローラ300-2は、ロボット350-2が採用する通信プロトコルに対応するロボット通信部75Aを含む。すなわち、ロボット通信部75Aは、ロボット350-2と予め定められた通信プロトコル(図7に示すロボット350-1が採用する通信プロトコルとは異なっている)に従ってデータをやり取りする。
実行コード44の命令442および命令444(図8参照)に示すように、指令値生成部74とロボット通信部75Aとの間は、内部コマンドに従ってデータをやり取りするように構成されており、ロボット通信部75Aがロボット350-2とデータをやり取りする通信プロトコルの変更の影響を受けない。そのため、ロボットコントローラ300-2のモジュールは、ロボット通信部75Aを除いて、ロボットコントローラ300-1の対応するモジュールと同一である。すなわち、ロボット制御部70Aは、標準制御に対応するロボット制御部70(ロボットコントローラ300-1)に比較して、ロボット通信部75Aのみを変更したものに相当する。このように、ロボット通信部75Aを変更するのみで、他社製のロボット350-2を制御することができる。
なお、指令値生成部74の制御アルゴリズム742Aは、ロボット350-2に特有なものになっている。
このように、開発支援装置400は、制御指令をロボット350へ送信するための通信プロトコルに応じて、ロボット通信部75(通信モジュール)を変更できるように構成されている。これによって、本実施の形態に係るロボット制御システム1は、通信プロトコルが異なるロボット350-2を制御する場合であっても、ロボット350-2との間の通信に関するモジュールのみを変更するだけで対応できる。
(c3:制御アルゴリズムを有するロボットの制御)
次に、応用的な構成例として、制御アルゴリズムを有するロボット350-3を制御する構成例について説明する。
図10は、本実施の形態に係るロボット制御システム1の制御アルゴリズムを有するロボットの制御に係る機能構成例を示す模式図である。図10を参照して、ロボット350-3は、キネマティクスや軌道生成といった特有の制御アルゴリズム742Bを有している。
この構成において、ロボット350-3は、ロボット制御部70Bから送信された目標位置752に従って動作する。すなわち、軌道生成やキネマティクス計算といった処理は、ロボット350-3において実行される。また、ロボット350-3の各軸の現在位置754については、ロボット350-3からロボット制御部70Bへ送信される。
指令値生成部74Bは、制御アルゴリズムを有しておらず、目標位置752をロボット350-3へ送信するとともに、ロボット350-3から現在位置754を受信する処理を実行する。例えば、指令値生成部74Bが生成する実行コード44は、処理開始時に実行されることを示す命令445と、目標位置752をロボット350-3へ送信するための命令446とを含む。命令445および命令446は、処理開始時に1回実行されることになる。さらに、実行コード44は、制御周期毎の実行であることを示す命令447と、ロボット350-1の各軸の現在位置を取得するための命令448とを含む。命令445および命令446は、制御周期毎に繰り返し実行される。
ロボットコントローラ300-3のモジュールは、指令値生成部74における処理を簡素化した指令値生成部74Bを除いて、ロボットコントローラ300-1の対応するモジュールと同一である。すなわち、標準制御に対応するロボット制御部70(ロボットコントローラ300-1)に対して、指令値生成部74Bに変更するのみで、他社製のロボット350-2を制御することができる。
このように、開発支援装置400は、ロボット350の機能に応じて、指令値生成部74(第2の生成モジュール)を変更できるように構成されている。図10に示す構成例においては、変更後の指令値生成部74Bは、内部コマンドに従って、ロボット350が移動すべき目標位置752を逐次生成し、ロボット通信部75は、目標位置を制御指令としてロボット350へ送信する。これによって、本実施の形態に係るロボット制御システム1は、制御アルゴリズムを有するロボット350-3を制御する場合であっても、同一の制御プログラムコード30を用いることができる。
(c4:モバイルロボット制御)
次に、応用的な構成例として、モバイルロボットであるロボット350-4を制御する構成例について説明する。
図11は、本実施の形態に係るロボット制御システム1のモバイルロボットの制御に係る機能構成例を示す模式図である。図11を参照して、ロボット350-4は、モバイルロボットであり、経路決定などの負荷の高い処理を実行できるコンピューティングリソースを有している。
ロボット350-4は、コンピューティングリソースを用いて、指令値生成部74に相当する処理環境を有している。すなわち、ロボット350-4は、内部コマンド42に従って制御周期毎の指令値を生成するといった処理を担当する。すなわち、ロボット350-4は、内部コマンド42に対応する実行コードの生成および制御周期毎の実行を担当する。
指令値生成部74Cは、実質的な演算処理を実行せず、内部コマンド42をロボット350-4へ送信する処理を担当する。すなわち、指令値生成部74Cは、コマンド格納部73が格納している内部コマンド42を、ロボット通信部75を介してロボット350-4へ送信する。なお、指令値生成部74Cは、ロボット350-4から状態値を適宜取得するようにしてもよい。
このように、ロボットコントローラ300-4のモジュールは、指令値生成部74における実質的な演算処理を省略した指令値生成部74Cを除いて、ロボットコントローラ300-1の対応するモジュールと同一である。すなわち、標準制御に対応するロボット制御部70(ロボットコントローラ300-1)に対して、指令値生成部74Cに変更するのみで、他社製のロボット350-3を制御することができる。
また、複数のモバイルロボット(ロボット350-4)を制御する場合には、それぞれのモバイルロボットを制御するロボット制御部70C(制御装置200)をそれぞれ用意するとともに、複数のロボット制御部70C(制御装置200)を統括する制御装置200からそれぞれのロボット制御部70Cへ対応する中間表現34を送信するタイミングを適切に決定することで、複数のモバイルロボットを互いに同期させた状態で制御することができる。
このような構成を採用した場合には、複数のモバイルロボットの動作などを単一の制御プログラムコード30を用いて記述することができる。すなわち、単一の制御プログラムコード30を用いて複数のモバイルロボットを制御できる。この結果、制御プログラムコード30内で他の制御プログラムコードとの間の同期処理などを記述する必要がなく、プログラム開発を効率化できる。
このように、開発支援装置400は、ロボット350の機能に応じて、指令値生成部74(第2の生成モジュール)を変更できるように構成されている。図11に示す構成例においては、変更後の指令値生成部74Cは、内部コマンドをそのまま出力し、ロボット通信部75は、内部コマンドを制御指令としてロボット350-4へ送信する。これによって、本実施の形態に係るロボット制御システム1は、モバイルロボットであるロボット350-4を制御する場合であっても、同一の制御プログラムコード30を用いることができる。
(c5:変形例)
図10および図11に示す構成例においては、説明の便宜上、ロボット通信部75の変更については言及しなかったが、対象のロボット350に応じて、ロボット通信部75についても変更されることもある。この場合には、開発支援装置400は、ロボット350の種類に応じて、指令値生成部74(第2の生成モジュール)およびロボット通信部75(通信モジュール)を一体で変更するようにしてもよい。
<D.開発支援装置400およびロボット制御部70の実装例>
次に、上述したようなロボット制御部70のモジュールの変更を実現するための処理および構成などについて説明する。
図12は、本実施の形態に係るロボット制御システム1のロボット制御部70を変更するための実装例を示す模式図である。図12に示す実装例において、ロボットコントローラ300は、複数種類の指令値生成部を含む指令値生成ライブラリ374と、複数種類のロボット通信部を含むロボット通信ライブラリ375とを含む。
指令値生成ライブラリ374は、例えば、指令値生成部74と、指令値生成部74Bと、指令値生成部74Cとを含む。ロボット通信ライブラリ375は、例えば、ロボット通信部75と、ロボット通信部75Aとを含む。
指令値生成ライブラリ374およびロボット通信ライブラリ375は、システムプログラム328の一部に含まれていてもよいし、開発支援装置400から転送(ダウンロード)するようにしてもよい。
ロボットコントローラ300は、設定情報80に従って、指令値生成ライブラリ374に含まれるモジュールのうち有効化するモジュールを決定するとともに、ロボット通信ライブラリ375に含まれるモジュールのうち有効化するモジュールを決定する。このように、ロボットコントローラ300は、予め用意された複数のモジュールのうち、いずれのモジュールを有効化するのかを指定する設定情報80を参照するようにしてもよい。
開発支援装置400は、ユーザ操作などに応じて設定情報80を生成し、生成した設定情報80をロボットコントローラ300へ転送するようにしてもよい。
図13は、本実施の形態に係るロボット制御システム1のロボット制御部70を変更するための別の機能構成例を示す模式図である。図13に示す実装例において、ロボットコントローラ300は、指令値生成ライブラリ374と、ロボット通信ライブラリ375とを含む。
開発支援装置400は、指令値生成ライブラリ374において有効化される指令値生成部を追加するとともに、ロボット通信ライブラリ375において有効化されるロボット通信部を追加する。
例えば、指令値生成ライブラリ374において指令値生成部74Bを有効化する場合には、開発支援装置400は、指令値生成部74を無効化するとともに、指令値生成部74Bをロボットコントローラ300へ追加する。
このように、開発支援装置400は、ロボットコントローラ300で使用されるモジュールを適宜変更あるいは更新できるようにしてもよい。
図14は、本実施の形態に係るロボット制御システム1の開発支援装置400が提供する設定画面の一例を示す模式図である。図14に示す設定画面450は、開発支援装置400のプロセッサ402が開発支援プログラム414を実行することで提供されるようにしてもよい。
図14を参照して、設定画面450は、設定対象のロボットコントローラ300を選択するための選択メニュー452と、設定対象のロボットコントローラ300に接続されたロボット350のタイプを選択するための選択メニュー454と、設定対象のロボットコントローラ300に接続されたロボット350のメーカを選択するための選択メニュー456とを含む。
ユーザは、設定画面450上で、制御対象のロボットコントローラ300およびロボット350に応じた設定を行う。ユーザが適用ボタン458を押下すると、開発支援装置400は、設定内容に応じて、設定情報80(図12参照)を生成して対象のロボットコントローラ300へ転送する。あるいは、開発支援装置400は、設定内容に応じて、対象のロボットコントローラ300へ必要なモジュールを転送する。
このような処理によって、制御対象のロボット350に応じたロボットコントローラ300を実現できる。
図15は、本実施の形態に係るロボット制御システム1の開発支援装置400が実行する処理手順の一例を示すフローチャートである。図15に示す各ステップは、典型的には、開発支援装置400のプロセッサ402が開発支援プログラム414を実行することで実現される。
図15を参照して、開発支援装置400は、ユーザからの設定操作を受け付けると(ステップS100)、図14に示すような設定画面450を表示する(ステップS102)。続いて、開発支援装置400は、設定画面450上でユーザからの設定操作を受け付け(ステップS104)て、適用ボタン458が押下されると(ステップS106)、設定内容に従って設定情報80を生成する(ステップS108)。そして、開発支援装置400は、生成した設定情報80を対象のロボットコントローラ300へ転送する(ステップS110)。そして、処理は終了する。
ロボットコントローラ300は、設定情報80に従って、ロボット制御部70を実現するためのモジュールを構成する。
<E.変形例>
上述の説明においては、制御装置100と、制御装置200と、1または複数のロボットコントローラ300とからなるロボット制御システム1を例示したが、これに限らず、解釈部50と、統合指示部60と、1または複数のロボット制御部70とを任意の装置に実装してもよい。
図16は、本実施の形態に係るロボット制御システム1の変形例を示す模式図である。
図16(A)を参照して、解釈部50および統合指示部60を制御装置200に実装してもよい。この場合には、制御装置100は不要となる。
図16(B)を参照して、統合指示部60およびロボット制御部70を制御装置200に実装してもよい。この場合には、ロボットコントローラ300は、ロボット350に対するインターフェイスとして機能することになる。
図16(C)を参照して、解釈部50、統合指示部60およびロボット制御部70を制御装置200に実装してもよい。この場合には、制御装置100は不要となり、ロボットコントローラ300は、ロボット350に対するインターフェイスとして機能することになる。
上述した構成例に限られることなく、解釈部50、統合指示部60およびロボット制御部70を実装する装置は、任意に設計することできる。
<F.付記>
上述したような本実施の形態は、以下のような技術思想を含む。
[構成1]
制御プログラムコード(30)に従ってロボット(350)を制御する制御システム(1)であって、
前記制御プログラムコードを解釈することで逐次生成される中間表現(32;34)に従って前記ロボットに対する制御指令を生成する制御装置(200)と、
前記制御装置と通信可能な開発支援装置(400)とを備え、
前記制御装置は、
前記中間表現に対応する一連の命令からなる内部コマンドを生成する第1の生成モジュール(71,72)と、
前記内部コマンドに従って、前記ロボットを構成する1または複数のアクチュエータに対する指令値を制御周期毎に生成する第2の生成モジュール(74)と、
前記指令値を前記制御指令として前記ロボットへ送信する通信モジュール(75)とを含み、
前記開発支援装置は、前記ロボットに関する指定に応じて、前記第2の生成モジュールおよび前記通信モジュールの少なくとも一方を変更できるように構成されている、制御システム。
[構成2]
前記開発支援装置は、前記制御指令を前記ロボットへ送信するための通信プロトコルに応じて、前記通信モジュールを変更できるように構成されている、構成1に記載の制御システム。
[構成3]
前記開発支援装置は、前記ロボットの機能に応じて、前記第2の生成モジュールを変更できるように構成されている、構成1または2に記載の制御システム。
[構成4]
変更後の第2の生成モジュール(74B)は、前記内部コマンドに従って、前記ロボットが移動すべき目標位置を逐次生成し、
前記通信モジュールは、前記目標位置を前記制御指令として前記ロボットへ送信する、構成3に記載の制御システム。
[構成5]
変更後の第2の生成モジュール(74C)は、前記内部コマンドをそのまま出力し、
前記通信モジュールは、前記内部コマンドを前記制御指令として前記ロボットへ送信する、構成3に記載の制御システム。
[構成6]
前記開発支援装置は、前記ロボットの種類に応じて、前記第2の生成モジュールおよび前記通信モジュールを一体で変更する、構成1~5のいずれか1項に記載の制御システム。
[構成7]
前記第2の生成モジュールは、前記内部コマンドに従って、前記ロボットが移動すべき軌道を決定する、構成1~6のいずれか1項に記載の制御システム。
[構成8]
前記第2の生成モジュールは、前記ロボットの機構と前記1または複数のアクチュエータとの機械的な結合関係に基づいて、前記内部コマンドに対応する前記1または複数のアクチュエータの動作を決定する、構成1~7のいずれか1項に記載の制御システム。
[構成9]
前記制御プログラムコードを解釈することで前記中間表現を逐次生成する第3の生成モジュール(50)をさらに備える、構成1~8のいずれか1項に記載の制御システム。
[構成10]
制御プログラムコード(30)に従ってロボット(350)を制御する制御システム(1)を構成する制御装置(200)であって、
前記制御プログラムコードを解釈することで逐次生成される中間表現に対応する一連の命令からなる内部コマンドを生成する第1の生成モジュール(71,72)と、
前記内部コマンドに従って、前記ロボットを構成する1または複数のアクチュエータに対する指令値を制御周期毎に生成する第2の生成モジュール(74)と、
前記指令値を制御指令として前記ロボットへ送信する通信モジュール(75)とを備え、
前記制御装置は、前記ロボットに関する指定に応じて、前記第2の生成モジュールおよび前記通信モジュールの少なくとも一方を変更できるように構成されている、制御装置。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1 ロボット制御システム、10 上位ネットワーク、20 フィールドネットワーク、30 制御プログラムコード、32,34 中間表現、36 ルーチン要求、38 ルーチン、42 内部コマンド、44 実行コード、50 解釈部、60 統合指示部、70,70A,70B,70C ロボット制御部、71 上位通信部、72 ルーチン管理部、73 コマンド格納部、74,74B,74C 指令値生成部、75,75A ロボット通信部、76 定周期サービス実行部、77 サブモジュール実行部、80 設定情報、100,200 制御装置、102,202,322,402 プロセッサ、104,204,324,404 メインメモリ、106,406 入力部、108,408 表示部、110,210,326,410 ストレージ、112,412 OS、114,212,328 システムプログラム、120,220,420 USBコントローラ、122,428 ネットワークコントローラ、124,424 光学ドライブ、126,426 記録媒体、130,430 バス、206 上位ネットワークコントローラ、208,310 フィールドネットワークコントローラ、222 メモリカードインターフェイス、224 メモリカード、230 プロセッサバス、300 ロボットコントローラ、320 制御処理回路、330 インターフェイス回路、350 ロボット、374 指令値生成ライブラリ、375 ロボット通信ライブラリ、400 開発支援装置、414 開発支援プログラム、421,422,423,441,442,443,444,445,446,447,448 命令、450 設定画面、452,454,456 選択メニュー、458 適用ボタン、500 表示装置、722 データベース、732 キュー、742,742A,742B 制御アルゴリズム、752 目標位置、754 現在位置。

Claims (10)

  1. 制御プログラムコードに従ってロボットを制御する制御システムであって、
    前記制御プログラムコードを解釈することで逐次生成される中間表現に従って前記ロボットに対する制御指令を生成する制御装置と、
    前記制御装置と通信可能な開発支援装置とを備え、
    前記制御装置は、
    前記中間表現に対応する一連の命令からなる内部コマンドを生成する第1の生成モジュールと、
    前記内部コマンドに従って、前記ロボットを構成する1または複数のアクチュエータに対する指令値を制御周期毎に生成する第2の生成モジュールと、
    前記指令値を前記制御指令として前記ロボットへ送信する通信モジュールとを含み、
    前記開発支援装置は、前記ロボットに関する指定に応じて、前記第2の生成モジュールおよび前記通信モジュールの少なくとも一方を変更できるように構成されている、制御システム。
  2. 前記開発支援装置は、前記制御指令を前記ロボットへ送信するための通信プロトコルに応じて、前記通信モジュールを変更できるように構成されている、請求項1に記載の制御システム。
  3. 前記開発支援装置は、前記ロボットの機能に応じて、前記第2の生成モジュールを変更できるように構成されている、請求項1または2に記載の制御システム。
  4. 変更後の第2の生成モジュールは、前記内部コマンドに従って、前記ロボットが移動すべき目標位置を逐次生成し、
    前記通信モジュールは、前記目標位置を前記制御指令として前記ロボットへ送信する、請求項3に記載の制御システム。
  5. 変更後の第2の生成モジュールは、前記内部コマンドをそのまま出力し、
    前記通信モジュールは、前記内部コマンドを前記制御指令として前記ロボットへ送信する、請求項3に記載の制御システム。
  6. 前記開発支援装置は、前記ロボットの種類に応じて、前記第2の生成モジュールおよび前記通信モジュールを一体で変更する、請求項1~5のいずれか1項に記載の制御システム。
  7. 前記第2の生成モジュールは、前記内部コマンドに従って、前記ロボットが移動すべき軌道を決定する、請求項1~6のいずれか1項に記載の制御システム。
  8. 前記第2の生成モジュールは、前記ロボットの機構と前記1または複数のアクチュエータとの機械的な結合関係に基づいて、前記内部コマンドに対応する前記1または複数のアクチュエータの動作を決定する、請求項1~7のいずれか1項に記載の制御システム。
  9. 前記制御プログラムコードを解釈することで前記中間表現を逐次生成する第3の生成モジュールをさらに備える、請求項1~8のいずれか1項に記載の制御システム。
  10. 制御プログラムコードに従ってロボットを制御する制御システムを構成する制御装置であって、
    前記制御プログラムコードを解釈することで逐次生成される中間表現に対応する一連の命令からなる内部コマンドを生成する第1の生成モジュールと、
    前記内部コマンドに従って、前記ロボットを構成する1または複数のアクチュエータに対する指令値を制御周期毎に生成する第2の生成モジュールと、
    前記指令値を制御指令として前記ロボットへ送信する通信モジュールとを備え、
    前記制御装置は、前記ロボットに関する指定に応じて、前記第2の生成モジュールおよび前記通信モジュールの少なくとも一方を変更できるように構成されている、制御装置。
JP2022013208A 2022-01-31 2022-01-31 ロボット制御システムおよび制御装置 Pending JP2023111376A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022013208A JP2023111376A (ja) 2022-01-31 2022-01-31 ロボット制御システムおよび制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022013208A JP2023111376A (ja) 2022-01-31 2022-01-31 ロボット制御システムおよび制御装置

Publications (1)

Publication Number Publication Date
JP2023111376A true JP2023111376A (ja) 2023-08-10

Family

ID=87551641

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022013208A Pending JP2023111376A (ja) 2022-01-31 2022-01-31 ロボット制御システムおよび制御装置

Country Status (1)

Country Link
JP (1) JP2023111376A (ja)

Similar Documents

Publication Publication Date Title
KR102392114B1 (ko) 유연한 인간-기계 협업을 위한 시스템 및 방법
JP4807475B1 (ja) 演算ユニット、出力制御方法、およびプログラム
CN110716510B (zh) 用于自动化应用的抽象层
JP2017520853A (ja) 仮想上位機器に基づく数値制御システム
JP5149258B2 (ja) ロボットコンポーネント管理装置
US20220156433A1 (en) Industrial network communication emulation
US20120290108A1 (en) Method and system for operating a machine from the field of automation engineering
CN113642243A (zh) 多机器人的深度强化学习系统、训练方法、设备及介质
JP6135247B2 (ja) 情報処理装置および情報処理プログラム
JP2007221364A (ja) コントローラ、制御システム及び制御装置の拡張方法
JP2023111376A (ja) ロボット制御システムおよび制御装置
Gamarra et al. Sensory integration of a mobile robot using the embedded system odroid-xu4 and ros
WO2023145361A1 (ja) ロボット制御システムおよびロボット制御システムを構成する方法
US20040235384A1 (en) Method and system for programming controllers and control assemblies
Kuts et al. Digital Twin: Universal User Interface for Online Management of the Manufacturing System
US11640153B2 (en) Control system, support device, and recording medium
WO2023145362A1 (ja) ロボット制御システムおよびロボット制御システムを構成する方法
WO2021145124A1 (ja) 制御装置
CN116394266B (zh) 一种机器人自碰撞处理方法、装置、机器人及介质
US10782982B2 (en) Information processing apparatus and system, and method and recording medium for generating user interface
EP3669239B1 (en) Apparatus and method for autonomously adding and removing of functionality in programmable logic controllers (plcs)
Schwartz A Generic Communication Library for Human-Robot Interaction on Construction Sites
Nakakaze et al. Adaptive retrofitting for industrial machines: utilizing webassembly and peer-to-peer connectivity on the edge
JP2021114019A (ja) データ処理方法
KR20230143002A (ko) 로봇의 기능 모듈의 개발 환경 제공 장치 및 방법