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

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

▶ ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツングの特許一覧

特許7179971ロボット装置のための制御装置、ロボット装置、方法、コンピュータプログラム及び機械可読記憶媒体
<>
  • 特許-ロボット装置のための制御装置、ロボット装置、方法、コンピュータプログラム及び機械可読記憶媒体 図1
  • 特許-ロボット装置のための制御装置、ロボット装置、方法、コンピュータプログラム及び機械可読記憶媒体 図2
  • 特許-ロボット装置のための制御装置、ロボット装置、方法、コンピュータプログラム及び機械可読記憶媒体 図3
  • 特許-ロボット装置のための制御装置、ロボット装置、方法、コンピュータプログラム及び機械可読記憶媒体 図4
  • 特許-ロボット装置のための制御装置、ロボット装置、方法、コンピュータプログラム及び機械可読記憶媒体 図5
  • 特許-ロボット装置のための制御装置、ロボット装置、方法、コンピュータプログラム及び機械可読記憶媒体 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-18
(45)【発行日】2022-11-29
(54)【発明の名称】ロボット装置のための制御装置、ロボット装置、方法、コンピュータプログラム及び機械可読記憶媒体
(51)【国際特許分類】
   B25J 19/06 20060101AFI20221121BHJP
【FI】
B25J19/06
【請求項の数】 14
(21)【出願番号】P 2021512627
(86)(22)【出願日】2019-07-10
(65)【公表番号】
(43)【公表日】2022-01-04
(86)【国際出願番号】 EP2019068559
(87)【国際公開番号】W WO2020048664
(87)【国際公開日】2020-03-12
【審査請求日】2021-03-05
(31)【優先権主張番号】102018215124.5
(32)【優先日】2018-09-06
(33)【優先権主張国・地域又は機関】DE
(73)【特許権者】
【識別番号】390023711
【氏名又は名称】ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツング
【氏名又は名称原語表記】ROBERT BOSCH GMBH
【住所又は居所原語表記】Stuttgart, Germany
(74)【代理人】
【識別番号】100114890
【弁理士】
【氏名又は名称】アインゼル・フェリックス=ラインハルト
(74)【代理人】
【識別番号】100098501
【弁理士】
【氏名又は名称】森田 拓
(74)【代理人】
【識別番号】100116403
【弁理士】
【氏名又は名称】前川 純一
(74)【代理人】
【識別番号】100134315
【弁理士】
【氏名又は名称】永島 秀郎
(74)【代理人】
【識別番号】100135633
【弁理士】
【氏名又は名称】二宮 浩康
(74)【代理人】
【識別番号】100162880
【弁理士】
【氏名又は名称】上島 類
(72)【発明者】
【氏名】フェリックス ボイケ
(72)【発明者】
【氏名】ズィーモン イェッセン
(72)【発明者】
【氏名】セルゲイ アラタルツェフ
【審査官】杉山 悟史
(56)【参考文献】
【文献】米国特許出願公開第2017/0097631(US,A1)
【文献】米国特許出願公開第2016/0107313(US,A1)
【文献】独国特許出願公開第102013203547(DE,A1)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00 ~ 21/02
(57)【特許請求の範囲】
【請求項1】
ロボット装置(1)のための制御装置であって、
前記ロボット装置(1)は、少なくとも1つのロボット(2)を含み、
前記ロボット(2)は、作業領域(3)内において動作可能であって、かつ、エンドエフェクタ(4)を有し、
前記エンドエフェクタ(4)は、プロセスシーケンス(12)を実行するために前記作業領域(3)内において移動可能であり、
前記制御装置は、前記プロセスシーケンス(12)を入力、規定及び/又は設定するための制御手段(7)を有し、
前記制御手段(7)は、前記プロセスシーケンス(12)を実行するための軌道(6)を計画し、前記プロセスシーケンス(12)を実行するための前記軌道(6)に基づいて前記ロボット(2)を制御するように構成されている、
制御装置において、
前記制御手段(7)は、チェック機能を有していて、前記ロボット(2)を制御する前に前記軌道(6)に衝突がないかどうかをチェックするように構成されており、
前記チェック機能は、ユーザによって入力手段(10)を用いて選択可能である、
ことを特徴とする制御装置。
【請求項2】
前記制御手段(7)は、前記軌道(6)を、前記プロセスシーケンス(12)に基づいて衝突がないように計画するように構成されている、
請求項に記載の制御装置。
【請求項3】
前記制御手段(7)は、前記プロセスシーケンス(12)及び/又は前記軌道(6)から開始点及び終了点を抽出するように構成されており、
前記衝突がないかどうかのチェック、及び/又は、前記衝突のない軌道(6)の計画は、前記開始点及び前記終了点に基づいている、
請求項1又は2に記載の制御装置。
【請求項4】
周囲データを検出するためのセンサ装置(11)が設けられており、
前記制御手段(7)は、前記周囲データに基づいて前記衝突がないかどうかのチェックを実行するように構成されている、
請求項1乃至のいずれか一項に記載の制御装置。
【請求項5】
前記制御手段(7)は、プロセスモジュール(8)及び軌道チェックモジュール(9)を有し、
前記軌道チェックモジュール(9)は、上位のユニットを形成していて、かつ、衝突がないかどうかをチェックするように構成されており、
前記プロセスモジュール(8)は、前記プロセスシーケンス(12)を入力、規定及び/又は設定するように構成されており、
前記軌道チェックモジュール(9)と前記プロセスモジュール(8)とは、データ技術的に接続されており、前記チェック機能は、前記プロセスモジュール(8)によって呼出可能及び/又は使用可能である、
請求項1乃至のいずれか一項に記載の制御装置。
【請求項6】
前記プロセスシーケンス(12)の入力、規定及び/又は設定、並びに、前記衝突がないかどうかのチェックは、1つの共通のプログラミング環境内において実装されており及び/又は使用可能である、
請求項1乃至のいずれか一項に記載の制御装置。
【請求項7】
前記制御手段(7)は、プロセスシーケンス(12)及び/又はプロセスシーケンスコンポーネントを有する機能データベースを含む、
請求項1乃至のいずれか一項に記載の制御装置。
【請求項8】
前記制御手段(7)を介してロボット位置を入力可能であり、
前記制御手段(7)は、前記チェック機能の選択時及び/又は実行時に、前記ロボット位置(22)に衝突があるかどうかをチェックするように構成されている、
請求項1乃至のいずれか一項に記載の制御装置。
【請求項9】
前記制御手段(7)を介して軌道種類設定可能であり、
前記制御手段(7)は、対応する前記軌道種類の軌道(19)を決定するように構成されている、
請求項1乃至のいずれか一項に記載の制御装置。
【請求項10】
前記軌道種類は、線形軌道、曲線軌道、放物線軌道、及び、閉じた進路の形態の軌道のうちの少なくとも1つを含む、
請求項9に記載の制御装置。
【請求項11】
少なくとも1つのロボット(2)を有するロボット装置(1)であって、
請求項1乃至10のいずれか一項に記載の制御装置が設けられている
ことを特徴とするロボット装置(1)。
【請求項12】
求項1乃至10のいずれか一項に記載の制御手段(7)によって、ロボット装置(1)を制御するための方法であって、
ユーザにより、プロセスシーケンス(12)が規定、入力及び/又は設定され、
前記ユーザにより、チェック機能が選択され、
前記チェック機能の選択時に、前記軌道(19)に衝突がないかどうかがチェックされ、
前記チェック機能の規定、入力及び/又は設定、並びに、選択は、1つの共通のモジュールにおいて実施される、
方法。
【請求項13】
請求項12に記載の方法を実施するためコンピュータプログラム。
【請求項14】
請求項13に記載のコンピュータプログラムが記憶されている機械可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
従来技術
本発明は、ロボット装置のための制御装置であって、ロボット装置は、少なくとも1つのロボットを含み、ロボットは、作業領域内において動作可能であって、かつ、エンドエフェクタを有し、エンドエフェクタは、プロセスシーケンスを実行するために作業領域内において移動可能であり、制御装置は、プロセスシーケンスを入力、規定及び/又は設定するための制御手段を有し、制御手段は、プロセスシーケンスを実行するための軌道を計画し、プロセスシーケンスを実行するための軌道に基づいてロボットを制御するように構成されている、制御装置に関する。
【背景技術】
【0002】
例えば、ロジスティクス及びその他のシステムのような生産システムにおいては、例えば部品の搬送及び/又は組立てのために、しばしばキネマティクス(ロボット)が使用される。ロボットが処理すべき動作又は作業は、通常、ユーザによって事前にプログラミングされる。このために、ユーザは、ロボットと周囲との間、及び/又は、ロボットとロボットとの間の衝突を回避するために、ロボットがどのように挙動及び/又は移動するかを正確に把握する必要がある。特に、例えば、センサによって指定される動的な開始点及び/又は目標点が追加される場合には、問題が発生する。その場合には、あらゆる時点におけるロボットの衝突のない動作を保証することは、ユーザにとって不定に複雑になる。
【0003】
おそらく最も近い従来技術である独国特許出願公開第102013203547号明細書は、作業動作及び協調動作において動作可能であって、かつ、検出領域内にいる人間を検出するための検出手段を有するロボットを備えた、ロボットワークステーション装置を記載している。さらに、ロボットワークステーション装置は、ロボットを制御するための制御手段を含み、制御手段は、検出領域内にいる人間が検出されたときに、ロボットを作業動作から協調動作に切り替えるように制御する。検出領域の区域から人間が退出しても、依然としてロボットは、ブロック期間の間、ブロックされる。
【先行技術文献】
【特許文献】
【0004】
【文献】独国特許出願公開第102013203547号明細書
【発明の概要】
【課題を解決するための手段】
【0005】
発明の開示
本発明によれば、請求項1に記載の特徴を有するロボット装置のための制御装置が提案される。さらに、ロボット装置、方法、コンピュータプログラム及び機械可読記憶媒体が提案される。好適な及び/又は有利な実施形態は、以下の説明、従属請求項及び添付図面から明らかになる。
【0006】
ロボット装置のための制御装置が提案される。特に、制御装置は、ロボット装置内に組込可能であるものとしてもよいし、及び/又は、組み込まれているものとしてもよい。制御装置は、好ましくはハードウェアモジュールとして構成されており、代替的に、制御装置を、ソフトウェアモジュールとして構成するものとしてもよい。ロボット装置は、例えば、生産、測定技術又はロジスティクスにおけるロボット装置である。ロボット装置によって対象物を処理、搬送及び/又は測定することができる。例えば、ロボット装置は、製造ライン又はロジスティクスラインの一部である。特に、制御装置を、複数のロボット装置のために構成することができ、この場合、制御装置は、1つのロボット装置及び/又は複数のロボット装置にデータ技術的に接続されている。
【0007】
ロボット装置は、少なくとも1つのロボットを含む。好ましくは、ロボット装置は、複数のロボット、例えば、少なくとも5個又は10個のロボットを含む。ロボットは、デカルトロボット、スカラロボット又は多関節アームロボットであり得る。特に、ロボットを、線形軸線として構成するものとしてもよい。ロボット装置が複数のロボットを含む場合には、これらのロボットを、それぞれ同等に又は異なるように構成することができる。さらに、ロボット装置のロボット同士は、互いに相互作用することができ、協調動作のために構成されている。
【0008】
ロボットは、作業領域内において動作可能であり、及び/又は、作業領域内に配置可能である。作業領域は、例えば、生産ライン、ロジスティクスライン又は製造システムの一区域である。作業領域は、特に空間領域である。ロボットは、エンドエフェクタを有する。エンドエフェクタは、特に、グリッパ及び/又はツールとして構成されている。エンドエフェクタによって、オブジェクト、対象物及び/又は被加工物を、把持、保持、処理及び/又は測定することができる。特に、ロボットは、2つ以上のエフェクタを有することができ、これらのエンドエフェクタは、好ましくは、互いに協調するように構成されており、例えば、オブジェクトを、1つのアクチュエータから次のアクチュエータに移し替えることができる。ロボットは、例えば、ロボットアームを有し、ロボットアームが、エンドエフェクタを含む。エンドエフェクタは、作業領域内において移動可能である。例えば、エンドエフェクタは、作業領域内において旋回可能、移動可能及び/又は回転可能である。
【0009】
ロボットは、プロセスシーケンスを実行するように構成されている。プロセスシーケンスは、例えば、被加工物、オブジェクト及び/又は対象物を製造、処理、搬送及び/又は測定するための部分ステップ又はシーケンス全体である。プロセスシーケンスは、特に複数のプロセスステップ、例えば、搬送ステップ、把持ステップ、処理ステップ及び/又は保持ステップを含み得る。プロセスシーケンスは、特に、複数のプロセスステップのシーケンス計画を有し、このシーケンス計画において、これらのプロセスステップを実行すべきである。特に、ロボット及び/又はロボット装置によって、複数の異なるプロセスシーケンスを表現可能、動作可能及び/又は実行可能である。
【0010】
制御装置は、制御手段を有する。制御手段は、好ましくはハードウェアモジュールである。代替的に、制御手段を、例えば、コンピュータユニット上、プロセッサ上又はマイクロチップ上のソフトウェアモジュールとして構成するものとしてもよい。制御手段は、好ましくは、1つのロボット及び/又は複数のロボットのための中央の制御手段である。ロボットと制御手段とは、例えば、ケーブル線路によって、又は、ケーブルレス接続によって、互いにデータ技術的に接続されている。
【0011】
制御手段上において、ユーザによってプロセスシーケンスを設定、入力及び/又は規定することができる。例えば、このために制御手段は、入力手段を有する。ユーザは、入力手段を用いて、プロセスシーケンスを構成、入力及び/又は規定することができる。例えば、プロセスシーケンスの入力及び/又は規定は、個々のプロセスステップの編成であり、特に時間的なシーケンスである。さらに、プロセスシーケンスの入力及び/又は規定は、プロセスステップへのロボットの割当ても含み得る。例えば、プロセスシーケンスの第1のプロセスステップを、第1のロボットによって実行すべきであり、他のプロセスステップを、ロボット装置の他のロボットによって同時に及び/又はその後に実行すべきであるということが、ユーザによって規定される。好ましくは、プロセスシーケンスの入力、規定及び/又は設定は、プログラミング環境内において実施される。プログラミング環境は、例えば、プロセスシーケンスのグラフィカルな入力、規定及び/又は設定を可能にする。代替的に、プログラミング環境は、コマンドラインに基づく入力方式を可能にしてもよい。特に、制御手段により、プロセスシーケンスを入力、規定及び/又は設定する際に、プロセスステップ及び/又はプロセスシーケンスの開始点及び/又は終了点を規定することができる。
【0012】
制御手段は、プロセスシーケンスを実行するための軌道を計画し、プロセスシーケンスを実行するための軌道に基づいてロボットを制御するように構成されている。特に、制御手段は、プロセスシーケンスを実行するための経路を計画するように構成可能である。特に、以下においては、軌道とは、一般的に経路であるとも理解することができる。経路とは、特に道筋の関数、例えば進路の関数であると理解される。軌道とは、好ましくは、時間の関数であると理解され、特に、ロボットの加速度及び/又は運動学的制限が考慮される。好ましくは、軌道及び/又は経路の計画と、ロボットの制御とが、1つの共通のモジュール内及び/又は共通のプログラミング環境内において実施される。軌道は、特に、作業領域内のエンドエフェクタの移動の進路及び/又は記述である。軌道は、例えば、位置ベクトルの形態における進路として実現可能であり、位置ベクトルは、時間依存性であって、かつ、それぞれの時点tをエンドエフェクタの位置ベクトルに割り当てるものであり、この割当ては、基準系又は重心系において実施される。さらに、軌道は、任意の時点におけるロボットの、特に多関節アームロボットの軸線区分の割当てとしても形成可能である。
【0013】
制御手段は、チェック機能を有する。チェック機能は、モジュール、ソフトウェアコンポーネント又は方法ステップを形成することができる。例えば、チェック機能は、方法ステップ及び/又はプログラムステップである。制御手段、特にチェック機能は、軌道に衝突がないかどうかをチェックするように構成されている。軌道に衝突がないかどうかのチェックは、特に、プロセスシーケンスを実行するようにロボットを制御する前に実施される。好ましくは、まず始めに、プロセスシーケンスの設定及び/又は規定と、例えば、プロセスシーケンスを実行するための軌道の計画とが実施され、続いて、衝突がないかどうかのチェックが実施され、その後、制御が実施される。衝突がないかどうかのチェックは、特に、ロボット、特にエンドエフェクタが、作業領域内及び/又は周囲内にある対象物に衝突がないかどうかのチェックであり、これらの対象物は、好ましくは、固定的に取り付けられた対象物及び/又は不動の対象物である。さらに、衝突がないかどうかのチェックは、或るロボットが、他のロボットと衝突しないかどうかのチェックであるものとしてもよく、これによって、例えば、ロボット装置の両方のロボットが、衝突することなく同時に動作することが可能となる。特に、チェック機能、及び/又は、軌道に衝突がないかどうかのチェックは、同一のプログラム及び/又はプログラミング環境内において実行可能及び/又は呼出可能である。この実施形態は、制御手段においてプロセスシーケンスの入力、規定及び/又は設定を実施するユーザが、衝突がないかどうかのチェックも実施することができるという着想に基づいている。従って、プロセスシーケンスの入力、規定及び/又は設定と、軌道の計画と、衝突がないかどうかのチェックとを、1つの共通の制御手段において実行、呼出及び/又は操作することが可能である。
【0014】
本発明は、これまでユーザは、軌道に衝突がないかどうかをチェックしたい場合に、使い慣れたプログラミング及び/又はプログラミング環境内において作業を行うことができなかったという着想に基づいている。これまでは、例えば、プログラムシーケンスの規定及び/又は設定と、軌道の計画とをそれぞれ異なるユニットが担当しているので、ユーザは、それぞれ異なるプログラミング及び/又はロジックに取り組まなければならなかった。さらに、特に衝突を監視するためのユニットには、ロボットの機能をマッピングすること及び/又は組み込むことはできない。従って、ロボット装置の作業員及び/又はユーザのためのトレーニング労力は、これまで、非常に莫大であり、高コストを引き起こしていた。衝突チェックを、制御手段自体の機能として、特により高価値の機能として提供することにより、トレーニング労力を削減し、コストを削減することが可能となる。これにより、ロボット固有の制御に関する専門知識を有するユーザは、他のユニットのロジック及び/又はプログラミングに取り組む必要なしに、付加的に衝突チェック機能を利用することができる可能性を有することとなる。特に、従前のロボット装置を、制御装置によって追加拡張することができる。
【0015】
従って、利点として、特に、ユーザは、従前のロボット制御部の機能範囲を引き続き利用することができ、自身の使い慣れたロボット固有のプログラミング環境内において作業を行うことができる。従って、ユーザは、軌道チェックのための上位のシステム及び/又はユニットを操作することができるようにするために、及び/又は、軌道チェックに基づいて軌道を編集することができるようにするために、新しいプログラミング言語を学習する必要がなくなる。
【0016】
チェック機能が、ユーザによって入力手段を用いて選択可能であることが特に好ましい。特に、入力手段は、制御手段の一部である。例えば、チェック機能は、アプリケーション、ソフトウェアモジュール、又は、呼出可能なアプリケーションとして選択可能である。チェック機能の選択により、特に、軌道に衝突がないかどうかのチェックが実行される。従って、例えば、ユーザは、まず始めにプロセスシーケンスを規定して、このプロセスシーケンスのための軌道を決定することができ、プロセスシーケンスが設定されて、軌道が計画された後、チェック機能の呼出及び/又は選択により、この規定された軌道に衝突がないかどうかがチェックされる。この実施形態は、ユーザが、使い慣れたプログラミング環境内におけるロボット制御部を引き続き使用して、衝突のない軌道を計画することができ、プログラミングに関する知識、及び/又は、衝突監視の機能を有する必要なしに、チェック機能を選択することによって衝突のチェックを開始することができるという着想に基づいている。
【0017】
任意選択的に、制御手段は、軌道を、プロセスシーケンスに基づいて衝突がないように計画及び/又は計画変更するように構成されている。例えば、プロセスシーケンスを実行するための軌道に衝突があるかどうか、及び/又は、衝突がないかどうかをチェックして、例えば、衝突することが確認された場合には、プロセスシーケンスを継続して実行可能であるが、それでもなお軌道に衝突がないように、軌道を計画変更するように制御手段を構成することができる。特に、衝突のない軌道の計画変更及び/又は計画は、計画変更された軌道及び/又は衝突のない軌道が、最短軌道から可能な限り逸脱しないように実施され、最短軌道は、特に、プロセスシーケンスを可能な限り迅速かつ低コストに実行し、及び/又は、他の二次条件を最適化するような、軌道及び/又は進路である。例えば、制御手段により、プロセスシーケンスの規定時及び/又は規定後、入力後及び/又は設定後に、プロセスシーケンスを実行するための複数の軌道を計画することができ、特に、チェック機能に基づいて、及び/又は、チェック機能の選択に応じて、軌道に衝突がないかどうかをチェックし、プロセスシーケンスを制御及び/又は実行するための軌道として、衝突のない軌道及び/又は複数の衝突のない軌道のうちの1つを選択するように、制御手段を構成することができる。例えば、ユーザは、対象物を或る位置から取り上げて他の位置に搬送することをプロセスシーケンスとして規定し、制御手段は、次いで、この対象物の取り上げ、搬送及び載置を衝突なしに実行する軌道を決定するように構成されている。
【0018】
本発明の特に好ましい実施形態によれば、制御手段は、プロセスシーケンスから及び/又はプロセスシーケンスのための軌道から開始点及び/又は終了点を抽出するように構成されている。例えば、ユーザは、プロセスシーケンスを規定する際に開始点及び/又は開始座標を規定する必要があり、さらに、ユーザは、終了点及び/又は終了座標を規定しなければならない場合がある。制御手段は、プロセスシーケンス及び/又は軌道の中間点を抽出するようにさらに構成可能である。例えば、中間点は、処理ステップ、移し替えステップ又は保持ステップが行われるプロセスシーケンスの点である。特に、衝突がないかどうかのチェック、及び/又は、衝突のない軌道の計画、及び/又は、衝突のない軌道への軌道の計画変更は、開始点、終了点及び/又は中間点に基づいている。例えば、制御手段は、周囲及びロボットとの衝突が発生しないように、開始点と終了点との間の軌道を計画するように構成されている。
【0019】
特に、制御装置は、1つ又は複数のセンサ装置を含む。センサ装置は、周囲データを検出するように構成されている。例えば、センサ装置は、周囲及び/又はロボットを光学的、音響的、機械的又は電気的に監視するように構成されている。周囲データは、例えば、作業領域内にある対象物の座標及び/又は位置、及び/又は、プロセスシーケンスの実行時及び/又は実行中におけるロボット及び/又はエンドエフェクタの位置である。例えば、センサ装置は、例えば、変更が行われたかどうか、及び/又は、障害物が追加若しくは除去されたかどうかを監視する作業領域を規則的な間隔で含む。制御手段は、特に、周囲データに基づいて衝突がないかどうかをチェックするように構成されている。さらに、制御手段は、周囲データに基づいて、衝突のない軌道及び/又は衝突のない軌道への計画変更を実行するように構成可能である。例えば、制御手段は、軌道及び/又は進路のそれぞれの点を周囲データと比較するように構成されている。
【0020】
本発明の1つの実施形態によれば、制御手段は、プロセスモジュール及び軌道チェックモジュールを含み、軌道チェックモジュールは、特にチェック機能を有するように、及び/又は、軌道チェックを実行するように構成されている。軌道チェックモジュールは、特に、上位のユニットを形成する。軌道チェックモジュール及びプロセスモジュールは、好ましくは、2つの物理的に別個のモジュール及び/又はユニットを形成する。例えば、軌道チェックモジュールは、上位のモジュールであり、例えばコンピュータユニットを形成する。これら2つの、特に物理的に別個でもあるモジュールを、両方ともロボット及び/又は制御手段に含めることができる。プロセスモジュールと軌道チェックモジュールとは、論理的に別個のモジュールを形成することができ、例えば、プログラムセクションを形成することができる。
【0021】
軌道チェックモジュールは、軌道及び/又は経路に衝突がないかどうかをチェックするように構成されている。プロセスモジュールは、ユーザによってプロセスシーケンスを入力、規定及び/又は設定するように構成されている。さらに、プロセスモジュールは、第1の軌道及び/又は軌道を計画することができる。代替的及び/又は付加的に、衝突のない軌道の計画及び/又は衝突のない軌道への軌道の計画変更は、軌道チェックモジュール上に実装されており、及び/又は、軌道チェックモジュール上において実行可能である。軌道チェックモジュールとプロセスモジュールとは、互いにデータ技術的に接続されている。特に、プロセスモジュールを介して軌道チェックモジュールに開始点、終了点及び/又は中間点を提供することができる。チェック機能は、特に、プロセスモジュールから軌道チェックモジュール上に呼出可能であり、軌道に衝突がないかどうかチェックするために使用可能である。この実施形態は、計算技術的に手間のかかる、軌道のチェック、及び/又は、衝突のない軌道の計画変更及び計画を、上位のシステムに、例えば中央のコンピュータユニットに外部委託するという着想に基づいており、この場合、衝突がないかどうかのチェック、計画及び/又は計画変更の機能は、引き続き、制御手段から、特にプロセスモジュールから呼出可能及び/又は使用可能であり、従って、ユーザは、自身の精通する環境内において作業することができ、しかも、複雑なチェック機能を使用することが可能である。
【0022】
プロセスシーケンスの入力、規定及び/又は設定、並びに、衝突がないかどうかのチェックが、1つの共通のプログラミング環境内において実装されており、及び/又は、1つの共通のプログラミング環境内においてユーザによって使用可能であることが特に好ましい。特に、このプログラミング環境内において、衝突のない軌道への軌道の計画変更の機能を実装することもでき、衝突のない軌道の計画も、このプログラミング環境内において実装することができる。例えば、プログラミング環境は、グラフィカルな入力、規定、設定及び/又はチェックのために構成されており、従って、特に、制御手段及び/又は制御装置を操作するための明示的なプログラミング言語及び/又はプログラミング知識は、必要ない。
【0023】
任意選択的に、制御手段は、機能データベースを有する。特に、機能データベースは、拡張可能な機能データベースである。機能データベースは、好ましくは、プログラムシーケンス、プロセスシーケンス、プロセスシーケンスコンポーネント、及び/又は、典型的な機能を有する。特に、機能データベースは、ロボット装置のそれぞれのロボットごとに格納されており及び/又は格納可能である。プロセスシーケンスコンポーネントは、例えば、ロボットの機能範囲を表し、これらのプロセスシーケンスコンポーネントは、プロセスシーケンスを実行するために選択可能であり、及び/又は、時間的な順序において使用可能である。特に、チェック機能は、制御手段内の機能コンポーネントとして実装されている。さらに、衝突のない軌道への軌道の計画変更と、衝突のない軌道の計画とを、プロセスシーケンスコンポーネントとして及び/又は機能として、機能データベースに格納することができる。この実施形態は、ロボット装置の、特に直感的に取り扱い可能な制御を可能にするという着想に基づいている。
【0024】
本発明の1つの実施形態によれば、制御手段は、ロボット位置を特定するように構成されており、及び/又は、ロボット位置を入力可能又は抽出可能である。例えば、制御手段は、1つのロボット及び/又は複数のロボットの現在位置を抽出及び/又は特定することができる。制御手段は、特に、例えば、チェック機能の選択時及び/又は実行時に、ロボット位置に衝突があるかどうかをチェックするように、例えば、当該位置が現在又は将来の衝突につながるかどうかをチェックするように構成されている。
【0025】
任意選択的に、制御手段を介して、ユーザによって特に入力手段を用いて軌道種類を設定可能である。軌道種類は、例えば、軌道及び/又は進路の形式である。特に、軌道種類は、線形軌道、曲線軌道、放物線軌道、又は、閉じた進路の形態の軌道である。制御手段は、軌道種類に対応するように、軌道を決定するように構成されている。特に、制御手段は、対応する軌道種類の衝突のない軌道を決定するように構成されている。
【0026】
本発明のさらなる対象は、ロボット装置である。ロボット装置は、少なくとも1つのロボット、好ましくは複数のロボットを有する。1つのロボット及び/又は複数のロボットは、作業領域内において動作可能である。特に、複数のロボットは、1つの共通の作業領域内において動作可能である。1つのロボット及び/又は複数のロボットは、それぞれ少なくとも1つのエンドエフェクタを有し、エンドエフェクタは、例えば、アクチュエータとして構成されている。エンドエフェクタは、プロセスシーケンスを実行するためにロボットの作業領域内において、及び/又は、ロボット装置の作業領域内において移動可能である。ロボット装置は、特に、上記のような制御手段を有する。制御手段により、ロボット及び/又はロボット装置によってプロセスシーケンスを実行するための軌道を計画することができる。特に、プロセスシーケンスは、ユーザによって制御手段上において入力可能、規定可能及び/又は設定可能である。制御装置を有するロボット装置は、計画された軌道に衝突がないかどうかをチェックするように構成されており、制御手段によって、衝突のない軌道を決定することもできる。特に、ロボット装置の制御手段は、軌道チェックモジュール及びプロセスモジュールを有し、軌道チェックモジュールは、特に、複数のロボットのための1つの中央の軌道チェックモジュールであり、軌道チェックモジュールは、1つのプロセスモジュール及び/又は複数のプロセスモジュールにデータ技術的に接続されている。プロセスモジュールは、好ましくはロボットの一部である。
【0027】
本発明のさらなる対象は、ロボット装置を制御するための方法である。特に制御手段により、ユーザによってプロセスシーケンスが規定、入力及び/又は設定される。特に、ユーザは、プロセスシーケンスコンポーネントを選択することにより、プロセスシーケンスを構成、入力及び/又は規定することができる。入力、規定又は設定は、特にプログラミング環境内において実施される。ユーザによって、チェック機能を選択可能である。チェック機能を選択すると、軌道に衝突がないかどうかがチェックされる。特に、衝突することなくプロセスシーケンスを実行するように、軌道を計画及び/又は計画変更することができる。衝突がないかどうかのチェック、及び/又は、衝突がないかどうかをチェックするためのチェック機能の選択は、特に、同一のプログラム及び/又はプログラミング環境内において実施される。従って、本方法によれば、ユーザが、プロセスシーケンスの規定と、軌道の計画と、衝突がないかどうかのチェックとを、同一のプログラミング環境内において実施することができ、複数のプログラミング言語及び/又はそれぞれ異なるモジュールを個別に制御及び/又は操作する必要がないことが企図されている。
【0028】
本発明のさらなる対象は、コンピュータプログラムである。コンピュータプログラムは、特に、データ担体上に保存されており及び/又は保存可能である。データ担体は、好ましくは、CD、DVD又はその他の大容量記憶装置である。コンピュータプログラムは、コンピュータ上、計算装置上、ロボット装置上及び/又は制御装置上において実行されたときに、前述の方法のステップを実行するように構成されている。
【0029】
本発明のさらなる対象は、機械可読記憶媒体である。機械可読記憶媒体は、特にデータ担体として、特に、CD、DVD又はUSBスティックとして構成されている。機械可読記憶媒体上には、上記のようなコンピュータプログラムが記憶されている。
【0030】
本発明のさらなる利点、効果及び実施形態は、添付された図面及びそれについての説明から明らかになる。
【図面の簡単な説明】
【0031】
図1】1つの実施例としてのロボット装置を示す図である。
図2】従来技術におけるロボット装置の制御を示す図である。
図3】制御装置による例示的な制御を示す図である。
図4】衝突のない経路計画のための例示的なシーケンスを示す図である。
図5】衝突のない軌道に基づいて制御するための例示的なプログラムシーケンスを示す図である。
図6】所定のロボット位置において衝突がないかどうかをチェックするための例示的なプログラムシーケンスを示す図である。
【発明を実施するための形態】
【0032】
図1は、ロボット装置1を示している。ロボット装置1は、例えば、製造システム、生産システム又は搬送システムの一部である。ロボット装置1は、少なくとも1つのロボット2を含む。ロボット装置1は、5個又は20個より多くのロボット2も含み得る。ロボット2は、作業領域3内に配置されている。作業領域3は、例えば、生産ホール、ロジスティクスセンタ又は部屋の一区域によって形成される。ロボット2は、エンドエフェクタ4を有する。エンドエフェクタ4は、グリッパとしてのアクチュエータ5を有する。エンドエフェクタ4は、作業領域3内において移動可能、旋回可能及び/又は回転可能である。ロボット2は、例えば、多関節アームロボットを形成する。アクチュエータ5によってオブジェクトを把持及び/又は保持することができる。ロボット2は、エンドエフェクタ4及び/又は把持されたオブジェクトを、軌道6に沿って搬送することができるように構成されている。軌道6は、作業領域3内の進路である。ロボット2によって、プロセスシーケンス又はプロセスシーケンスのプロセスステップを実行することができる。
【0033】
ロボット装置1は、制御手段7を含む。制御手段7は、プロセスモジュール8及び軌道チェックモジュール9を有する。軌道チェックモジュール9は、好ましくは、中央のコンピュータユニットとして構成されている。プロセスモジュール8は、コンピュータユニットとして構成可能であり、好ましくは、プロセスモジュール8は、ロボット2内に組み込まれている。プロセスモジュール8は、軌道チェックモジュール9にデータ技術的に接続されている。さらに、プロセスモジュール8、ひいては制御手段7も、ロボット2を制御するために、ロボット2にデータ技術的に接続されている。
【0034】
プロセスモジュール8は、入力手段10を有する。入力手段10は、例えば、タッチパッドとして構成されており、代替的及び/又は付加的に、入力手段10は、キーボード、マウス及び/又はジョイスティックを有する。ユーザは、入力手段10を用いてプロセスシーケンスを入力、規定及び/又は設定することができる。このために、例えば、ユーザによって選択可能なプロセスシーケンスコンポーネントが格納されている。例えば、ユーザは、開始点及び/又は終了点、並びに、作業シーケンス、保持時間及び/又は保持点を規定することができる。プロセスシーケンスを規定することにより、1つの軌道及び/又は複数の軌道を決定することができる。プロセスモジュール8は、軌道チェックモジュール9にデータ技術的に接続されている。軌道チェックモジュール9には、ユーザによって設定及び/又は規定されたプロセスシーケンスが提供されている。軌道チェックモジュール9は、プロセスモジュール8から、特に、開始点、終了点及び/又は中間点も取得する。軌道チェックモジュール9は、プロセスシーケンスを実行するための衝突のない軌道を計画するように構成されている。特に、軌道チェックモジュール9は、計算された軌道6に衝突がないかどうかをチェックする。計算された衝突のない軌道は、プロセスモジュール8にデータ技術的に提供され、プロセスモジュール8は、プロセスシーケンスを実行するための衝突のない軌道6に基づいてロボット2を制御する。特に、軌道チェックモジュール9を制御して、衝突のない軌道6の決定、及び/又は、衝突がないかどうかのチェックを軌道チェックモジュール9に実行させる機能を、ユーザによってプロセスモジュール8上において選択することが可能である。プロセスモジュール8上におけるチェック機能の操作により、軌道チェックモジュール9は、特に、衝突のない軌道をプロセスモジュール8に提供するようにも促される。
【0035】
ロボット装置1はさらに、センサ装置11も有する。センサ装置11は、例えば、作業領域3をビデオ技術的に監視するビデオカメラとして構成されている。特に、センサ装置11によって、作業領域3内にある障害物、例えば、対象物、車両又は人間を検出することができ、検出された対象物は、周囲データとして制御手段7に提供され、この周囲データに基づいて、制御手段7、特に軌道チェックモジュール9は、軌道に衝突がないかどうかを判定及び/又はチェックすることができる。
【0036】
図2は、例えば従来技術に見られるような、ロボット装置を制御するための概念を示している。プロセスシーケンス12は、ロボット移動制御部13上に実装されているわけではなく、上位のユニット、例えば上位のコンピュータユニット14内に実装されている。ロボットは、上位のユニットによって遠隔制御として制御される。この上位のコンピュータユニット14は、計画モジュール15を有し、計画モジュール15は、開始点と目標点との間における衝突のない経路を計算することができる。プロセスシーケンス12を決定するための構成要素において、ユーザは、ロボット2の論理シーケンスをプログラミングし、モジュール15によって、各点間における衝突のない経路を計算することができる。プロセスシーケンス12を規定するための構成要素は、動作中にロボット移動制御部13を制御(遠隔制御)し、今度はこのロボット移動制御部13が、ロボット2及びロボット2のキネマティクス16を制御して、衝突することなくロボット2を移動させる。
【0037】
例えば、このロボット移動制御部13により、「箱を把持する」というプロセスシーケンスが作成及び計画される。把持位置は、センサ装置、例えば3Dセンサによって指定され、目標位置は、例えば、オブジェクトが載置されるべきコンベヤベルトである。ここで、ユーザは、以下のようにプロセスシーケンスを実装する。1.現在位置から基本姿勢までの衝突のない経路を計算する。2.グリッパを開く。3.計算された経路に沿ってロボットを基本姿勢へと移動させる。4.基本姿勢から箱の把持位置までの衝突のない経路を計算する。5.計算された経路に沿ってロボットを箱の把持位置へと移動させる。6.グリッパを閉じる。7.箱の把持位置から載置点までの衝突のない経路を計算する。8.計算された経路に沿ってロボットを載置点へと移動させる。9.グリッパを開く。10.載置点から箱の把持位置までの衝突のない経路を計算する。11.計算された経路に沿ってロボットを箱の把持位置へと移動させる。12.グリッパを閉じる。13.項目7以降と同様に続行する。
【0038】
このようなアプローチの主な欠点は、ユーザが、もはや使い慣れたプログラミング環境内においては作業することができなくなり、上位のシステムの新しいプログラミングに取り組んで、必要な知識を習得しなければならなくなることである。しかも、多くの場合、このような上位のプログラミングシステムは、特殊なロボット機能をマッピングすることができず、又は、部分的にしかマッピングすることができない。さらに、保守担当者及び/又はサービス担当者は、不慣れな全体システムに対処することができなければならず、このことによって、トレーニング労力の増加が引き起こされる。
【0039】
従って、本発明の着想は、衝突のない経路計画の機能を、ロボット制御部上、ロボット移動制御部上及び/又は制御手段上において直接的に、より高価値の機能として提供することである。従って、ユーザは、ロボット制御部の固有の専門知識を引き続き使用することが可能となる。
【0040】
図3は、ロボット装置1の1つの実施例の機能分布を示している。制御手段7は、軌道チェックモジュール9及びプロセスモジュール8を有する。プロセスモジュール8は、軌道チェックモジュール9を制御するための、及び、ロボット2を制御するためのものである。プロセスモジュール8は、入力手段10を有し、ユーザは、プログラムシーケンス12を入力手段10上において規定及び/又は設定することができる。入力手段は、例えば、キーボード及び/又はマウスを有する画面として構成されている。代替的又は付加的に、入力手段10は、タッチパッドとして構成されている。例えば、ユーザによって選択可能なプロセスシーケンスコンポーネントを有するライブラリが格納されている。特に、プロセスモジュール8は、軌道チェックモジュール9及びロボット2を制御するためのインタフェースを形成する。プロセスモジュールは、ロボット2の一部であり、入力手段10も、好ましくはロボットの一部であり、ユーザは、入力手段10を介してロボットをプログラミングすることができ、かつ、プログラムシーケンスを規定及び/又は設定することができる。
【0041】
ユーザが、プロセスシーケンスをプロセスモジュール8上において設定及び/又は規定した後、衝突のない軌道を決定してもらうことを希望する場合には、ユーザは、プロセスモジュール8上において、例えば入力手段10を用いて、対応する機能、例えばチェック機能を選択する。チェック機能が選択された後、所望の開始位置及び/又は目標位置が、軌道チェックモジュール9に伝送される。軌道チェックモジュール9は、周囲データ、開始位置及び目標位置に基づいて衝突のない軌道を決定し、この衝突のない軌道をプロセスモジュール8に伝送する。このようにして、ユーザに、衝突のない軌道が提供される。プロセスモジュール8は、次いで、提供された衝突のない軌道に基づいてロボット2を制御するように構成されている。プロセスモジュール8は、プロセスシーケンス12を上位のユニットに、即ち、軌道チェックモジュール9に伝送し、軌道チェックモジュール9は、衝突のない軌道を計画し、この衝突のない軌道をプロセスモジュール8に伝送する。衝突のない軌道によるロボットの制御は、プロセスモジュール8によって実行され、従って、上位ユニットによる遠隔操作によって実行されるのではない。従って、特に、衝突のない経路を計画するためのロジック及び/又は計算能力だけが、軌道チェックモジュール9に搭載及び/又は外部委託されており、残余のロジック及び/又はプログラミングは、プロセスモジュール8に残存させられており、従って、ロボット2内及び/又はロボットレベルにある。
【0042】
図4は、ロボット装置1を制御するためのシーケンスを概略的に示している。プロセスモジュール8において、ユーザは、プロセスシーケンス12を規定及び/又は設定することができる。プロセスモジュール8は、特に、プロセスシーケンスから開始位置、終了位置及び/又は軸線構成を決定するように構成されている。さらに、開始位置、終了位置及び/又は軸線構成も、ユーザによって設定可能及び/又は指定可能であるものとしてよい。プロセスシーケンス12、開始位置、終了位置及び/又は軸線構成は、特に、インタフェースとして機能することができる中間モジュール17に提供される。この中間モジュール17は、プロセスシーケンス12、開始位置、終了位置及び/又は軸線構成を、特に、軌道チェックモジュール9によって処理可能なデータ形式において、軌道チェックモジュール9に提供する。軌道チェックモジュール9は、コンピュータユニット18を含み、コンピュータユニット18は、提供されたプロセスシーケンス、開始位置、終了位置及び/又は軸線構成に基づいて、衝突のない軌道19を決定することができる。軌道19は、プロセスモジュール8にデータ技術的に提供され、特に、中間モジュール17によって捕捉及び/又は受信され、例えば、プロセスモジュール8において、特に、ユーザによって利用可能及び/又は使用可能なデータ形式又はプログラム形式に変換される。次いで、衝突のない軌道19が、ユーザに提供される。特に、衝突のない軌道19は、画面のような出力手段も含み得る入力手段10においてユーザに提供される。
【0043】
図5は、図4と同様の制御シーケンスを示しており、ここでは、衝突のない軌道を入力手段10上に出力する代わりに、衝突のない軌道の変換が行われる。このために、衝突のない軌道19は、中間モジュール17によって移動命令20に変換される。移動命令20は、プロセス機能を実行し、衝突のない軌道に沿って移動するように、ロボット及び/又はアクチュエータを制御するために、プロセスモジュール8によって利用される。衝突のない軌道による実行及び/又は制御の後、中間モジュール17によって確認命令21が出力され、この確認命令21は、入力手段10上に表示され、プロセスシーケンスが完了及び/又は実行されたことをユーザに通知することを目的としている。この場合には、さらに、プロセスシーケンスの実行を行うことができなかった場合、及び/又は、キャンセルする必要がある場合には、エラーメッセージを表示することができる。
【0044】
図6は、ロボット位置をチェックするための例示的なシーケンスを示している。ユーザによって、プロセスモジュール上において、特に入力手段10を用いて、ロボット位置22を入力することができる。例えば、ロボット位置は、所望位置、開始点又は終了点である。ロボット位置22は、プロセスモジュール8内の中間モジュール17に提供され、中間モジュール17は、特にデータ形式の変換を実施し、変換されたロボット位置22を軌道チェックモジュール9に提供する。軌道チェックモジュール9は、ロボット位置をチェックし、この位置において周囲との衝突が発生し得るかどうかを検査するように構成されている。衝突チェックの結果23は、軌道チェックモジュール9によってプロセスモジュール8に提供され、中間モジュール17は、提供された情報23を、入力手段10に提供可能な形式であって、かつ、入力手段10によってユーザのための情報として出力可能な形式に変換する。例えば、その位置において衝突がない場合には、「OK」を出力することができ、又は、その位置において衝突が発生する場合には、「衝突」を出力することができる。このようにして、ユーザは、プロセスシーケンスを規定する際に、特定の点、例えば、目標点、開始点又は中間点に衝突の危険性があるかどうかを事前にチェックすることができる。
図1
図2
図3
図4
図5
図6