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

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

▶ 株式会社デンソーウェーブの特許一覧

特開2023-175301ロボット制御システム、及びロボット制御プログラム
<>
  • 特開-ロボット制御システム、及びロボット制御プログラム 図1
  • 特開-ロボット制御システム、及びロボット制御プログラム 図2
  • 特開-ロボット制御システム、及びロボット制御プログラム 図3
  • 特開-ロボット制御システム、及びロボット制御プログラム 図4
  • 特開-ロボット制御システム、及びロボット制御プログラム 図5
  • 特開-ロボット制御システム、及びロボット制御プログラム 図6
  • 特開-ロボット制御システム、及びロボット制御プログラム 図7
  • 特開-ロボット制御システム、及びロボット制御プログラム 図8
  • 特開-ロボット制御システム、及びロボット制御プログラム 図9
  • 特開-ロボット制御システム、及びロボット制御プログラム 図10
  • 特開-ロボット制御システム、及びロボット制御プログラム 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023175301
(43)【公開日】2023-12-12
(54)【発明の名称】ロボット制御システム、及びロボット制御プログラム
(51)【国際特許分類】
   B25J 13/00 20060101AFI20231205BHJP
【FI】
B25J13/00 Z
【審査請求】未請求
【請求項の数】4
【出願形態】OL
(21)【出願番号】P 2022087680
(22)【出願日】2022-05-30
(71)【出願人】
【識別番号】501428545
【氏名又は名称】株式会社デンソーウェーブ
(74)【代理人】
【識別番号】110000567
【氏名又は名称】弁理士法人サトー
(72)【発明者】
【氏名】若山 利宏
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707AS01
3C707BS10
3C707CS08
3C707HS27
3C707LV15
3C707LW03
3C707MS27
3C707NS02
3C707WA16
(57)【要約】
【課題】簡単な構成でかつ安全に逆送り動作を行う。
【解決手段】ロボット制御システムは、ロボットの制限値を含んだシーン情報と、ロボットの動作内容及びシーン情報の切り替えを指示する順送り動作プログラムと、を記憶する記憶装置と、順送り動作プログラムを順次実行してロボットの現在の動作内容に応じたシーン情報に切り替えて当該シーン情報に含まれている制限値内でロボットを動作させる順送り動作処理を実行可能な順送り動作処理部と、順送り動作処理で実行された動作内容と、当該動作内容の実行時におけるロボットの位置情報と、当該動作内容の実行時に指定されていたシーン情報と、を関連付けてログを記憶するログ記憶処理を実行可能なログ記憶処理部と、ログを読み出しログに含まれるロボットの動作内容及び位置情報とシーン情報とに基づいてログを遡ってロボットを動作させる逆送り動作処理を実行可能な逆送り動作処理部と、を備える。
【選択図】図1
【特許請求の範囲】
【請求項1】
ロボットの作業場面に応じて予め設定される情報であって前記ロボットの動作に関する制限値を含んだシーン情報と、前記ロボットの動作内容及び前記シーン情報の切り替えを指示する順送り動作プログラムと、を記憶する記憶装置と、
前記記憶装置に記憶されている前記順送り動作プログラムを順次実行して前記ロボットの現在の動作内容に応じた前記シーン情報に切り替えて当該シーン情報に含まれている制限値内で前記ロボットを動作させる順送り動作処理を実行可能な順送り動作処理部と、
前記順送り動作処理で実行された前記動作内容と、当該動作内容の実行時における前記ロボットの位置情報と、当該動作内容の実行時に指定されていた前記シーン情報と、を関連付けてログを記憶するログ記憶処理を実行可能なログ記憶処理部と、
前記ログを読み出し前記ログに含まれる前記ロボットの前記動作内容及び前記位置情報と前記シーン情報とに基づいて前記ログを遡って前記ロボットを動作させる逆送り動作処理を実行可能な逆送り動作処理部と、
を備えるロボット制御システム。
【請求項2】
前記ログ記憶処理は、前記順送り動作処理において前記動作内容に対応する全ての前記シーン情報を記憶する処理を含む、
請求項1に記載のロボット制御システム。
【請求項3】
前記ログ記憶処理は、前記順送り動作処理において現在の1つ前の前記動作内容に関する前記シーン情報を仮保持し、前記シーン情報が切り替わらなかった場合は前記仮保持している前記シーン情報を記憶せず、前記シーン情報が切り替わった場合には前記仮保持している前記シーン情報を記憶する処理を含む、
請求項1に記載のロボット制御システム。
【請求項4】
ロボットの作業場面に応じて予め設定される情報であって前記ロボットの動作に関する制限値を含んだシーン情報と、前記ロボットの動作内容及び前記シーン情報の切り替えを指示する順送り動作プログラムと、を記憶する記憶装置と、前記記憶装置に記憶されている前記順送り動作プログラムを順次実行して前記ロボットの現在の動作内容に応じた前記シーン情報に切り替えて当該シーン情報に含まれている制限値内で前記ロボットを動作させる順送り動作処理を実行可能な順送り動作処理部と、を備えたコンピュータに、
前記順送り動作処理で実行された前記動作内容と、当該動作内容の実行時における前記ロボットの位置情報と、当該動作内容の実行時に指定されていた前記シーン情報と、を関連付けてログを記憶するログ記憶処理と、
前記ログを読み出し前記ログに含まれる前記ロボットの前記動作内容及び前記位置情報と前記シーン情報とに基づいて前記ログを遡って前記ロボットを動作させる逆送り動作処理と、
を実行させることができるロボット制御プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、ロボット制御システム、及びロボット制御プログラムに関する。
【背景技術】
【0002】
人や設備等と協働して所定の作業を行う産業用のロボットにおいては、例えばロボットの動作を教示している最中等に、ロボットの動作を停止させ、その後、過去のある時点の位置や姿勢にロボットを戻す必要が生じる場合がある。ここで、ロボットの動作を停止させた時点までにロボットが人や設備等と接触していなければ、これまで動作した軌跡は、ロボットと人や設備等とが接触しないことが担保されるといえる。このため、過去のある時点の位置や姿勢にロボットを戻す場合、これまで動作した軌跡を逆に辿る、すなわち逆送りで動作させることで、人や設備等との接触を回避できて安全を担保することができる。
【0003】
従来、ロボットの位置や姿勢を戻す方法として、ロボットの位置や姿勢のログを記憶し、そのログを逆に辿って戻すことが考えられている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2011-201009号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ここで、特に人との協働を前提としたロボットの場合、ロボットが人に接触した場合における人の安全を担保するため、ロボットと人とが接触する可能性が高い場合等においては、ロボットの動作速度を制限する必要がある。そして、このような事情は、上述した逆送りの動作でも同様である。この場合、例えばセンサを用いてロボットの周囲に存在する人等を検知することで、周囲の状況に応じてロボットの動作速度の上限値を変更したり、停止させたりすることも考えられる。しかしながら、センサ等を用いると部品コスト、部品点数、組み立て工数等が増大し、ロボットのコストアップにつながる。
【0006】
本発明は、上記した事情に鑑みてなされたものであり、その目的は、簡単な構成でかつ安全に逆送り動作を行うことができるロボット制御システム、及びロボット制御プログラムを提供することにある。
【課題を解決するための手段】
【0007】
実施形態によるロボット制御システムは、ロボットの作業場面に応じて予め設定される情報であって前記ロボットの動作に関する制限値を含んだシーン情報と、前記ロボットの動作内容及び前記シーン情報の切り替えを指示する順送り動作プログラムと、を記憶する記憶装置と、前記記憶装置に記憶されている前記順送り動作プログラムを順次実行して前記ロボットの現在の動作内容に応じた前記シーン情報に切り替えて当該シーン情報に含まれている制限値内で前記ロボットを動作させる順送り動作処理を実行可能な順送り動作処理部と、前記順送り動作処理で実行された前記動作内容と、当該動作内容の実行時における前記ロボットの位置情報と、当該動作内容の実行時に指定されていた前記シーン情報と、を関連付けてログを記憶するログ記憶処理を実行可能なログ記憶処理部と、前記ログを読み出し前記ログに含まれる前記ロボットの前記動作内容及び前記位置情報と前記シーン情報とに基づいて前記ログを遡って前記ロボットを動作させる逆送り動作処理を実行可能な逆送り動作処理部と、を備える。
【0008】
また、実施形態によるロボット制御プログラムは、ロボットの作業場面に応じて予め設定される情報であって前記ロボットの動作に関する制限値を含んだシーン情報と、前記ロボットの動作内容及び前記シーン情報の切り替えを指示する順送り動作プログラムと、を記憶する記憶装置と、前記記憶装置に記憶されている前記順送り動作プログラムを順次実行して前記ロボットの現在の動作内容に応じた前記シーン情報に切り替えて当該シーン情報に含まれている制限値内で前記ロボットを動作させる順送り動作処理を実行可能な順送り動作処理部と、を備えたコンピュータに、前記順送り動作処理で実行された前記動作内容と、当該動作内容の実行時における前記ロボットの位置情報と、当該動作内容の実行時に指定されていた前記シーン情報と、を関連付けてログを記憶するログ記憶処理と、前記ログを読み出し前記ログに含まれる前記ロボットの前記動作内容及び前記位置情報と前記シーン情報とに基づいて前記ログを遡って前記ロボットを動作させる逆送り動作処理と、を実行させることができる。
【図面の簡単な説明】
【0009】
図1】一実施形態によるロボット制御システムの電気的構成の一例を示すブロック図
図2】一実施形態によるロボット制御システムを工場に適用した一例を概念的に示す図
図3】一実施形態によるロボット制御システムの操作対象となるロボットの一例を概念的に示す図
図4】一実施形態によるロボット制御システムで設定されるシーン情報の一例を示す図
図5】一実施形態によるロボット制御システムにおいて順送り動作プログラムで設定される対象エリアとシーン情報との対応関係の一例を示す図
図6】一実施形態によるロボット制御システムについて、順送り動作処理部で実行される順送り動作処理の制御内容の一例について示す第1の図
図7】一実施形態によるロボット制御システムについて、順送り動作処理部で実行される順送り動作処理の制御内容の一例について示す第2の図
図8】一実施形態によるロボット制御システムについて、ログ記憶処理部で実行されるログ記憶処理の制御内容の第1の例を示すフローチャート
図9】一実施形態によるロボット制御システムについて、ログ記憶処理によって記憶されたログの第1の例を示すフローチャート
図10】一実施形態によるロボット制御システムについて、ログ記憶処理部で実行されるログ記憶処理の制御内容の第2の例を示すフローチャート
図11】一実施形態によるロボット制御システムについて、ログ記憶処理によって記憶されたログの第2の例を示すフローチャート
【発明を実施するための形態】
【0010】
以下、一実施形態について図面を参照しながら説明する。図1に示すロボットシステム100は、ロボット10、端末装置20、及びロボット制御システム30を備えている。ロボット10は、ロボット制御システム30の制御対象であり、例えば図2に示すように、工場80等で用いられる産業用ロボットで構成することができる。
【0011】
図2は、例えば前工程から受け取ったワーク90を荷積みして後工程に受け渡す場面において、ロボット10の利用を想定したものである。工場80には、例えばコンベア81、排出台82、荷積み台83、及び安全柵84が設置されている。コンベア81は、前工程からワーク90を運搬し排出台82に排出する機能を有する。荷積み台83は、後工程へ受け渡すワーク90を荷積みいわゆるパレタイジングするための台である。安全柵84は、例えば人等の侵入を抑制するための柵である。
【0012】
この場合、安全柵84の内側は、ロボット10と人との協働を前提としない領域に設定することができる。この構成において、ロボット10は、コンベア81から排出台82に排出されたワーク90を取得し、他の設備94等を避けて荷積み台83まで運搬した後、荷積み台83に荷積みする動作を実行可能である。なお、図2には3台のロボット10が描かれているが、これは工場80で3台のロボット10が利用されていることを示すのではなく、1台のロボット10について3つの異なる場面を同時に描いたものである。
【0013】
図2に示す工場80の場合、例えばピッキングエリアE1、通路エリアE2、及び荷積みエリアE3が設定されている。ロボット10は、ピッキングエリアE1、通路エリアE2、及び荷積みエリアE3の領域内を移動し、予め定められた作業を行う。この場合、ピッキングエリアE1、通路エリアE2、及び荷積みエリアE3を合わせた領域が、ロボット10の作業領域となる。
【0014】
ピッキングエリアE1は、例えばロボット10が排出台82からワーク90を取り出してロボット10に移載する作業いわゆるピッキング作業を行う領域である。本実施形態の場合、ピッキング作業は、ロボット10と協働作業者95すなわち人とが協働して行う作業に設定されている。このため、ピッキングエリアE1は、協働作業者95との協働を前提とした協働領域に設定される。この場合、ピッキングエリアE1は、ロボット10と人とが接触する可能性が高い領域となる。
【0015】
通路エリアE2は、例えばロボット10がワーク90を荷積み台83まで運搬する際にロボット10が通行する領域である。本実施形態の場合、ワーク90の運搬作業は、人との協働を前提としない作業に設定されている。このため、通路エリアE2は、人との協働を前提としない非協働領域に設定される。しかしながら、通路エリアE2は、人の通行も許されている領域である。このため、通路エリアE2は、ロボット10と人とが接触する可能性があるものの、その可能性はピッキングエリアE1よりも低い領域となる。
【0016】
そして、荷積みエリアE3は、例えばロボット10がワーク90を荷積み台83にパレタイジングする作業すなわち荷積み作業を行う領域である。本実施形態の場合、荷積み作業は、ロボット10と人との協働を前提としない作業に設定されている。このため、荷積みエリアE3は、人との協働を前提としない非協働領域に設定される。そして、荷積みエリアE3は、安全柵84によって人等の侵入が防がれた領域である。このため、荷積みエリアE3は、ロボット10と人とが接触する可能性がほとんどない領域となる。
【0017】
ロボット10は、例えば図3に示すように、ロボットアーム11と搬送台車12とを有している。ロボットアーム11は、例えば水平多関節型のロボットアームやパラレルリンク型のロボットアーム、直交型のロボットアーム等で構成することができ、所定の作業を行うことができる。ロボットアーム11の種類やロボットアーム11の先端に取り付けられるツール111は、ロボット10が行う作業内容に応じて適宜設定される。
【0018】
搬送台車12は、ロボットアーム11を搭載しており、ロボットアーム11や作業対象となるワーク等を搬送する機能を有する。搬送台車12は、例えばAGV(Automated Guided Vehicle)いわゆる無人搬送車で構成することができる。搬送台車12は、例えばタイヤ121を駆動するための図示しないモータを有しており、例えば予め定められた経路を自律的に移動する構成とすることができる。搬送台車12は、例えば走行が予定されている領域内に磁気テープ等のガイドを設置し、そのガイドに沿って走行するようにしても良いし、走行予定の領域内の2次元又は3次元の地図データを生成し、その地図データに従って走行する構成でも良い。
【0019】
図1に示す端末装置20は、ユーザが制御装置31に対してロボット10の設定等を入力するための操作端末である。端末装置20は、表示部21及び入力部22を有しており、ロボット制御システム30と通信可能に構成されている。表示部21は、文字や画像等の表示が可能なユーザインタフェースであり、例えば液晶ディスプレイ等で構成することができる。入力部22は、ユーザからの操作入力を受けるユーザインタフェースであり、例えばマウスやキーボード若しくはタッチパネル等で構成することができる。端末装置20は、例えばパソコンやスマートフォン、タブレット等の汎用品や、いわゆるティーチングペンダント等の専用品で構成することができる。ユーザは、端末装置20を介して、ロボット10の制御プログラムを制御装置31に記憶させたり、制御装置31に記憶されているプログラムを更新したりすることができる。
【0020】
ロボット制御システム30は、ロボット10の動作を制御する機能を有する。また、ロボット制御システム30は、ユーザがロボット10の教示すなわちティーチングを行う際に、ロボット10の設定やプログラムの作成に関してユーザの支援を行う機能を有する。ロボット制御システム30は、いわゆるロボットコントローラ等の専用品で構成することもできるし、例えば市販のパソコンやスマートフォン若しくはタブレット等の汎用品にコンピュータプログラムをインストールすることで実現することもできる。また、ロボット制御システム30は、上述した専用品と汎用品との組み合わせで構成することもできる。
【0021】
ロボット制御システム30は、制御装置31、駆動制御部32、補助記憶装置33、順送り動作処理部34、ログ記憶処理部35、及び逆送り動作処理部36を備えている。制御装置31は、CPU311及び主記憶装置312を有している。CPU311は、ロボット制御システム30における各処理を実行する。主記憶装置312は、RAM等の一時的な記憶媒体であって、各処理に必要な情報を一時的に記憶する。
【0022】
駆動制御部32は、例えばインバータ回路を含んで構成されており、ロボットアーム11の各軸のモータや搬送台車12のモータに対する電流を制御することで、ロボットアーム11及び搬送台車12の動作を制御することができる。また、駆動制御部32は、例えばロボットアーム11の各軸のモータや搬送台車12のモータに対応して設けられたエンコーダ等を含んで構成されており、ロボットアーム11の姿勢や動作速度、及び搬送台車12の移動速度や現在位置を検出することができる。制御装置31は、駆動制御部32で検出したロボットアーム11の姿勢や搬送台車12の速度及び現在位置に基づいて例えばフィードバック制御によりそれぞれのモータを駆動することができる。
【0023】
なお、ロボット制御システム30のうち少なくとも駆動制御部32はロボット10に搭載されている。一方で、ロボット制御システム30のうち、駆動制御部32以外の構成については、ロボット10に搭載した構成としても良いし、駆動制御部32と通信可能に構成されてロボット10とは離れた位置に設けられた構成としても良い。
【0024】
補助記憶装置33は、有形かつ非一時的なコンピュータ可読媒体で構成される。補助記憶装置33の例としては、HDD(Hard Disk Drive)、SSD(Solid State Drive)、磁気ディスク、光磁気ディスク、CD-ROM(Compact Disc Read Only Memory)、DVD-ROM(Digital Versatile Disc Read Only Memory)、半導体メモリ等が挙げられる。補助記憶装置33は、シーン情報41、順送り動作プログラム42、及びロボット制御プログラム43を記憶している。また、補助記憶装置33は、ログ44を記憶することができる。
【0025】
シーン情報41は、ロボット10の作業場面に応じて予め設定される情報であってロボット10の動作に関する制限値を含んだ情報である。シーン情報41は、例えばユーザによって任意に設定可能な情報とすることができる。本実施形態の場合、ユーザは、例えば端末装置20を介して、シーン情報41の追加、削除、及び内容の編集を行うことができる。シーン情報41は、例えば図4に示すように、少なくとも識別値と制限値とを有している。なお、図4の例において、シーン1、シーン2、シーン3・・・で示す各行が、それぞれ1つのシーン情報41を構成する。識別値は、各シーン情報を識別するためのもので各シーン情報に固有の値である。識別値は、例えば重複しない数値で構成されたシーン番号とすることができる。
【0026】
制限値は、ロボット10の動作を制限するための情報、すなわちロボット10の動作の安全に関するパラメータである。ロボットアーム11に関する制限値としては、例えばロボットアーム11の力、動作速度、及び動作範囲等を設定することができる。搬送台車12に関する制限値としては、例えば搬送台車12の移動速度を設定することができる。ロボット制御システム30は、指定されたシーン情報41に含まれる制限値の範囲内でロボット10の動作を制御する。
【0027】
また、シーン情報41は、備考情報を含んで構成することができる。備考情報は、制限値に対応したロボット10の作業場面つまり作業シーンを説明する情報である。備考情報は、例えばそのシーン情報41で想定されている場面が、人との協働を前提としたものか否か、及び人との接触可能性に関する情報を含んだものとすることができる。すなわち、ユーザは、ロボット10が使用される場面を備考情報に設定し、その備考情報に対応する制限値を、その備考情報で想定された場面に適した値に設定することができる。ユーザは、例えばロボット10の作業場面や現在位置毎にシーン情報41の具体的内容を異なるものとすることができる。
【0028】
図4の例では、例えばシーン1~3の3つの作業場面を想定している。シーン1では、ロボット10と人との協働を想定している。このシーン1では、ロボット10と人との接触の可能性は高い。この場合、ユーザは、シーン1における各制限値を、3つのシーン1~3の中で最も厳しい値に設定する。例えばシーン1に関し、ユーザは、ロボットアーム11の力の制限値を「弱」に設定し、ロボットアーム11の動作速度の制限値を「低速」に設定し、ロボットアーム11の動作領域を「作業領域内」に設定し、搬送台車12の移動速度の制限値を「低速」に設定する。なお、ロボットアーム11の動作領域を「作業領域内」に設定するとは、例えばピッキング作業等、予め定められた作業を行うために必要な動作領域内にロボットアーム11の動作を制限することを意味する。
【0029】
シーン2では、ロボット10と人との協働は想定していないが、ロボット10と人とが接触する可能性がある場合を想定している。この場合、ユーザは、シーン2における各制限値を、3つのシーン1~3の中で中間の値、すなわちシーン1よりは緩くかつシーン3よりは厳しい値に設定する。例えばシーン2に関し、ユーザは、ロボットアーム11の力の制限値を「中」に設定し、ロボットアーム11の動作速度の制限値を「中速」に設定し、ロボットアーム11の動作領域を「台車領域内」に設定し、搬送台車12の移動速度の制限値を「中速」に設定する。なお、ロボットアーム11の動作領域を「台車領域内」に設定するとは、ロボットアーム11が搭載された搬送台車12の上空からロボットアーム11が出ない範囲にロボットアーム11の動作を制限することを意味する。
【0030】
そして、シーン3では、ロボット10と人との協働は想定しておらず、ロボット10と人とが接触する可能性もほとんどない場合を想定している。この場合、ユーザは、シーン3における各制限値を、3つのシーン1~3の中で最も緩い値に設定する。例えばシーン3に関し、ユーザは、ロボットアーム11の力の制限値を「制限なし」に設定し、ロボットアーム11の動作速度の制限値を「制限なし」に設定し、ロボットアーム11の動作領域を「制限なし」に設定し、搬送台車12の移動速度の制限値を「制限なし」に設定する。この場合、ロボット制御システム30は、ロボットアーム11の力、動作速度、動作範囲、及び搬送台車12の移動速度をそれぞれ最大値でロボット10を動作させることができる。なお、ユーザは、上記シーン1~3以外にも、ロボット10の作業場面に応じたシーン情報41を適宜追加することができる、
【0031】
順送り動作プログラム42は、ロボット10に所定の動作を行わせるためのコンピュータプログラムであり、ロボット10の動作内容及びシーン情報41の切り替えを指示するためのプログラムコードすなわちコマンドを含んでいる。順送り動作プログラム42は、ロボット10のユーザ、例えば教示者が作成するものである。ロボット10のユーザは、ロボット10の動作を教示したり、GUI(Graphical User Interface)を用いたいわゆるノーコード開発を行ったり、プログラムコードを打ち込んだりすることで、順送り動作プログラム42を作成し編集することができる。
【0032】
ユーザは、順送り動作プログラム42に、ロボット10の動作に関する制限値を直接記述するのではなく、シーン情報41を指定するコマンドを記述することによって、ロボット10の動作に関する制限値を指定することができる。この場合、ユーザは、ロボット10の位置や動作に応じてシーン情報41を指定することで、ロボット10の位置や動作に応じた制限値、つまり指定されたシーン情報41に設定された制限値でロボット10を動作させることができる。また、ユーザは、ロボット10の位置や動作内容が異なる複数の作業場面に対して同一のシーン情報41を指定することができる。この場合、シーン情報41の制限値を変更すると、その変更された制限値は、同一のシーン情報41が指定されている各作業場面に反映される。
【0033】
図5は、ロボット10の位置に応じて指定されるシーン情報41の一例を示すものである。本実施形態の場合、ピッキングエリアE1は、ロボット10と人との協働を想定した領域、すなわちロボット10と人とが接触する可能性が高い領域である。そのため、ユーザは、ロボット10がピッキングエリアE1内に侵入した場合にはシーン情報41をシーン1に切り替えるように順送り動作プログラム42を構成する。
【0034】
また、通路エリアE2は、ロボット10と人との協働は想定していないが、ロボット10と人とが接触する可能性がある領域である。このため、ユーザは、ロボット10が通路エリアE2内に侵入した場合にはシーン情報41をシーン2に切り替えるように順送り動作プログラム42を構成する。そして、荷積みエリアE3は、ロボット10と人との協働は想定しておらず、かつ、ロボット10と人とが接触する可能性もほとんどない領域である。このため、ユーザは、ロボット10が荷積みエリアE3内に侵入した場合にはシーン情報41をシーン3に切り替えるように順送り動作プログラム42を構成する。
【0035】
図6及び図7は、順送り動作プログラム42によるロボット10の動作内容の一例である。具体的には、図6及び図7は、ロボット10が、排出台82と荷積み台83との間を往復してワーク90のピッキングと荷積みとを繰り返す場合の制御内容の一例である。制御装置31は、図6及び図7に示す順送り動作プログラム42を実行することにより、ロボット10に、ワーク90のピッキング、運搬、荷積みといった一連の動作を行わせることができる。
【0036】
図1に示すロボット制御プログラム43は、順送り動作処理部34、ログ記憶処理部35、及び逆送り動作処理部36をコンピュータ上で仮想的に実現するためのコンピュータプログラムである。制御装置31は、CPU311がロボット制御プログラム43を補助記憶装置33から読み出して主記憶装置312に展開し実行することで、順送り動作処理部34、ログ記憶処理部35、及び逆送り動作処理部36をそれぞれコンピュータ上で仮想的に実現することができる。なお、各処理部34、35、36の実現は、上記したハードウェアとプログラムの組み合わせに限らず、プログラムをインプリメントした集積回路のようなハードウェア単体で実現するようにしてもよいし、一部の機能を専用のハードウェアで実現し、一部をハードウェアとプログラムの組み合わせで実現するようにしてもよい。
【0037】
順送り動作処理部34は、順送り動作処理を実行可能である。順送り動作処理は、補助記憶装置33に記憶されている順送り動作プログラム42を順次実行し、ロボット10の現在の動作内容に応じたシーン情報41に切り替えて、そのシーン情報41に含まれている制限値内でロボット10を動作させる処理を含んでいる。なお、順送り動作プログラム42を順次実行するとは、順送り動作プログラム42に記載されているプログラムコード若しくはコマンドを、その記載順に従って実行することでロボット10を動作させることを意味する。
【0038】
順送り動作処理部34は、順送り動作プログラム42を呼び出して順送り動作処理を実行すると、例えば図6及び図7に示す一連の処理を行う。なお、この場合、ロボット10は、ピッキングエリアE1内の地点Pa(0)に位置していることを前提としている。地点Pa(0)は、ロボット10がピッキングを行う位置である。順送り動作処理部34は、まず、図6のステップS11において、ロボット10の動作に用いるシーン情報41をシーン1に切り替える。そして、順送り動作処理部34は、ステップS12においてシーン1で設定されている制限値内でロボット10を動作させてワーク90のピッキングを行う。
【0039】
ピッキングが終了すると(ステップS13でYES)、順送り動作処理部34は、ステップS14に処理を移行させる。そして、順送り動作処理部34は、図2に示すように、ワーク90を搭載したロボット10を、通路エリアE2を通って荷積みエリアE3の地点Pd(0)まで移動させて、ワーク90を地点Pd(0)まで搬送する。地点Pd(0)は、ロボット10がワーク90の荷積みを行う位置である。
【0040】
この場合、順送り動作処理部34は、まず、ロボット10の動作に用いるシーン情報41をシーン1に維持したまま地点Pa(0)から地点Pb(0)までロボット10を移動させる。すなわち、ロボット10がピッキングエリアE1内に侵入している間、順送り動作処理部34は、ロボット10の動作を、シーン1で設定されている制限値内に制限する。なお、地点Pb(0)は、ロボット10の移動経路上に設定された地点でかつ異なるエリアの境界の位置であり、この場合、ピッキングエリアE1と通路エリアE2との境界位置となる。
【0041】
ロボット10が地点Pb(0)に到達すると(ステップS15でYES)、順送り動作処理部34は、ステップS16において、ロボット10の動作に用いるシーン情報41をシーン2に切り替える。そして、順送り動作処理部34は、ステップS17において、シーン2で設定されている制限値内でロボット10を動作させ、地点Pc(0)までロボット10を移動させてワーク90の搬送動作を継続する。すなわち、ロボット10が通路エリアE2内に侵入した場合、順送り動作処理部34は、ロボット10の動作を、シーン2で設定されている制限値内に制限する。なお、地点Pc(0)は、ロボット10の移動経路上に設定された地点でかつ異なるエリアの境界の位置であり、この場合、通路エリアE2と荷積みエリアE3との境界位置となる。
【0042】
ロボット10が地点Pc(0)に到達すると(ステップS18でYES)、順送り動作処理部34は、ステップS19において、ロボット10の動作に用いるシーン情報41をシーン3に切り替える。そして、順送り動作処理部34は、ステップS20において、シーン3で設定されている制限値内でロボット10を動作させ、地点Pd(0)までロボット10を移動させてワーク90の搬送動作を継続する。すなわち、ロボット10が荷積みエリアE3内に侵入した場合、順送り動作処理部34は、ロボット10の動作を、シーン3で設定されている制限値内に制限する。
【0043】
ロボット10が地点Pd(0)に到達すると(ステップS21でYES)、順送り動作処理部34は、図7のステップS22において、シーン3で設定されている制限値内でロボット10を動作させ、搬送台車12に搭載されているワーク90を荷積み台83に移し替えて荷積みを実行する。荷積みが終了すると(ステップS23でYES)、順送り動作処理部34は、ロボット10を、通路エリアE2を通ってピッキングエリアE1まで戻す。
【0044】
この場合、順送り動作処理部34は、ロボット10の動作に用いるシーン情報41をシーン3に維持したまま、ステップS24において、地点Pc(0)までロボット10を移動させる。ロボット10が地点Pc(0)に到達すると(ステップS25でYES)、順送り動作処理部34は、ステップS26において、ロボット10の動作に用いるシーン情報41をシーン2に切り替える。そして、順送り動作処理部34は、ステップS27において、シーン2で設定されている制限値内でロボット10を動作させ、地点Pb(0)までロボット10を移動させる。
【0045】
ロボット10が地点Pb(0)に到達すると(ステップS28でYES)、順送り動作処理部34は、ステップS29において、ロボット10の動作に用いるシーン情報41をシーン1に切り替える。順送り動作処理部34は、ステップS30において、シーン1で設定されている制限値内でロボット10を動作させ、地点Pa(0)までロボット10を移動させる。そして、ロボット10が地点Pa(0)に到達すると(ステップS31でYES)、順送り動作処理部34は、図6のステップS11に処理を戻し、上述した一連の処理を再び実行する。
【0046】
ログ記憶処理部35は、ログ記憶処理を実行可能である。ログ記憶処理は、逆送り動作処理部36で用いるためのログを記憶する処理である。この場合、ログ記憶処理は、図8及び図10に示すように、順送り動作処理で実行されたロボット10の動作内容と、当該動作内容の実行時におけるロボット10の位置情報と、当該動作内容の実行時に指定されていたシーン情報41と、を関連付けたログを記憶する処理を含む。
【0047】
ログ記憶処理部35は、ロボット10が動作している間、つまり図6及び図7に示す処理を実行している間、例えば数m秒程度の所定間隔でログ記憶処理を実行する。なお、図8及び図10において、時刻t(1)、t(2)・・・は、ログを記憶した時刻を意味し、また、時刻t(1)、t(2)・・・のカッコ内の数字は、ログ記憶処理で記憶した順番を示している。また、時刻及び位置情報のカッコ内のN、M、L、Q、Rは、それぞれ正の整数を意味する。ログに含まれる動作内容は、図8及び図10では動作内容の概要を記載しているが、実際に記憶されるログには、動作内容として、ロボットアーム11及び搬送台車12のモータの速度、角度、トルク等の情報が含まれる。また、図8及び図10の例において、ログ記憶処理部35は、シーン情報41の全てを記憶するのではなく、シーン情報41のうちシーン番号のみを記憶している。
【0048】
ログ記憶処理部35は、例えば図8に示す内容のログを記憶することができる。図8に示すログは、順送り動作処理において動作内容に対応する全てのシーン情報41を記憶した場合の一例である。この場合、ログ記憶処理部35は、順送り動作処理が実行されると、図9に示す内容でログ記憶処理を実行する。ログ記憶処理部35は、図9に示すログ記憶処理を開始すると、ステップS41において、ロボット10の現在の動作内容及び位置情報を記憶する。そして、ログ記憶処理部35は、ステップS42において、ステップS41で記憶したロボット10の動作内容及び位置情報に関連付けて、現在のシーン情報41も記憶する。
【0049】
その後、ログ記憶処理部35は、ステップS43において、ロボット10の動作が停止したか否かを判断する。ロボット10の動作が未だ停止していない場合(ステップS43でNO)、ログ記憶処理部35は、ステップS41へ処理を戻し、ステップS41移行の処理を繰り返す。また、ロボット10の動作が停止した場合(ステップS43でYES)、ログ記憶処理部35は、ログ記憶処理を終了する。
【0050】
また、ログ記憶処理部35は、例えば図10に示す内容のログを記憶することができる。図10に示すログは、順送り動作処理において、動作内容に対応するシーン情報41に関し、シーン情報41の切り替わりがあった際の直前のシーン情報41のみを記憶した場合の一例である。すなわち、ログ記憶処理は、順送り動作処理において現在の1つ前の動作内容に関するシーン情報41を仮保持し、シーン情報41が切り替わらなかった場合は仮保持しているシーン情報41を記憶せず、シーン情報41が切り替わった場合には仮保持しているシーン情報41を記憶する処理を含んでいる。
【0051】
この場合、ログ記憶処理部35は、順送り動作処理が実行されると、図11に示す内容でログ記憶処理を実行する。ログ記憶処理部35は、図11に示すログ記憶処理を開始すると、ステップS51において、直前のシーン情報41を仮保持する。直前のシーン情報41とは、現在に対して1つ前の時刻におけるシーン情報41を意味する。例えば図10において、現在が時刻t(N+1)である場合、直前のシーン情報41とは、時刻t(N+1)の1つ前となる時刻t(N)時点におけるシーン情報41を意味する。また、シーン情報41を仮保持するとは、将来的に消去することを前提として主記憶装置312等に一時的に記憶させることを意味する。直前のシーン情報41が存在しない場合、ログ記憶処理部35は、仮保持するシーン情報41を空値にする。
【0052】
次に、ログ記憶処理部35は、ステップS52において、ロボット10の現在の動作内容及び位置情報を記憶する。その後、ログ記憶処理部35は、ステップS53において、シーン情報41の切り替えがあったか否かを判断する。シーン情報41の切り替えがあった場合(ステップS53でYES)、ログ記憶処理部35は、ステップS54へ処理を移行させる。そして、ログ記憶処理部35は、仮保持している直前のシーン情報41を、ロボット10の動作内容及び位置情報とともに記憶し、その後、ステップS55へ処理を移行させる。一方、シーン情報41の切り替えがなかった場合(ステップS53でNO)、ログ記憶処理部35は、ステップS54を実行することなく、ステップS55へ処理を移行させる。
【0053】
その後、ログ記憶処理部35は、ステップS55において、ロボット10の動作が停止したか否かを判断する。ロボット10の動作が未だ停止していない場合(ステップS55でNO)、ログ記憶処理部35は、ステップS51へ処理を戻し、ステップS51移行の処理を繰り返す。また、ロボット10の動作が停止した場合(ステップS55でYES)、ログ記憶処理部35は、ステップS56において現在のシーン情報41を記憶した後、ログ記憶処理を終了する。
【0054】
逆送り動作処理部36は、逆送り動作処理を実行可能である。逆送り動作処理は、補助記憶装置33に記憶されているログ44を読み出し、そのログ44に含まれるロボット10の動作内容及び位置情報とシーン情報41とに基づいて、ログ44を遡ってロボット10を動作させる処理である。逆送り動作処理は、順送り動作処理の実行によるロボット10の動作を逆再生する処理である。この場合、逆送り動作処理におけるロボット10の動作は、順送り動作処理と同じシーン情報41の制限値に基づいて制限される。
【0055】
ユーザは、例えば端末装置20等を用いて、過去のある時点を指定して、逆送り動作処理部36に逆送り動作処理を実行させる。逆送り動作処理部36は、逆送り動作処理を実行すると、図8及び図10に白色矢印で示すようにログ44を遡ってロボット10を動作させる。これにより、ロボット10は、順送り動作処理の実行により動作したロボット10の軌跡をシーン情報41を含めて逆に辿ることで、ロボット10の軌跡に関して安全を確保しながら指定された過去のある特定の時点の状態にまで戻される。
【0056】
ここで、上述したロボット10のように、協働作業を前提とし、かつ、作業領域が比較的広範囲となるものにおいては、協働者の安全を担保するため、作業位置や作業内容に合わせてロボット10の動作速度や力、動作領域を制限する安全機能の実現が必要である。この場合、例えば順送り動作プログラム42を、ロボット10の移動や動作に応じて逐次制限値を切り替えるようにすることも考えられるが、特にロボット10の作業領域が広範囲になると、制限値の切り替えが頻繁になって処理負荷が極端に増大するため現実的ではない。
【0057】
これに対し、例えばセンサ等を用いてロボット10の周囲に存在する人や障害物等を検知することで、周囲の状況に応じてロボット10の動作速度の上限値を変更したり、停止させたりすることも考えられる。しかしながら、センサ等を用いると部品コスト、部品点数、組み立て工数等が増大し、ロボットのコストアップにつながる。
【0058】
そこで、以上説明した実施形態によれば、ロボット制御システム30は、記憶装置33と、順送り動作処理部34と、を備えている。記憶装置33は、シーン情報41と、順送り動作プログラム42と、を記憶している。シーン情報41は、ロボット10の作業場面に応じて予め設定される情報であって、ロボット10の動作に関する制限値を含んだ情報である。順送り動作プログラム42は、ロボット10の動作内容及びシーン情報41の切り替えを指示するためのコンピュータプログラムである。順送り動作処理部34は、順送り動作処理を実行可能である。順送り動作処理は、記憶装置33に記憶されている順送り動作プログラム42を順次実行してロボット10の現在の動作内容に応じたシーン情報41に切り替えて当該シーン情報41に含まれている制限値内でロボット10を動作させる処理を含む。
【0059】
これによれば、ロボット制御システム30は、ロボット10を順送りで動作させる際、作業場面に応じたシーン情報41を呼び出し、そのシーン情報41に含まれる制限値内でロボット10を動作させる。そのため、ロボット制御システム30は、ロボット10の移動や動作に応じて頻繁に制限値を切り替える必要がないため、処理負荷の増大を抑制することができる。更に、ロボット制御システム30は、シーン情報41を用いることにより、人等を検知するためのセンサ等を用いることなく作業場面に適した制限値内でロボット10を安全に動作させることができる。このように、本実施形態によれば、センサ等を用いない簡単な構成でかつ、ロボット10の作業場面に適した制限値でロボット10を安全に順送り動作させることができる。
【0060】
ここで、例えばユーザがロボット10の動作を教示している最中等に、ロボット10の動作を停止させ、その後、過去のある時点の位置や姿勢にロボット10を戻す動作を行う必要が生じる場合がある。そして、この場合においても、人とロボット10とが協働する場合には、順送り動作処理の場合と同様に、ロボット10の動作を人の安全を担保したものとする必要がある。
【0061】
そこで、本実施形態のロボット制御システム30は、ログ記憶処理部35と、逆送り動作処理部36と、を更に備える。ログ記憶処理部35は、ログ記憶処理を実行可能である。ログ記憶処理は、順送り動作処理で実行された動作内容と、当該動作内容の実行時におけるロボット10の位置情報と、当該動作内容の実行時に指定されていたシーン情報41と、を関連付けてログ44を記憶する処理を含む。そして、逆送り動作処理部36は、逆送り動作処理を実行可能である。逆送り動作処理は、ログ44を読み出しログ44に含まれるロボット10の動作内容及び位置情報とシーン情報41とに基づいてログ44を遡ってロボット10を動作させる処理を含む。
【0062】
これによれば、ロボット制御システム30は、ログ44を遡ってロボット10を逆送り動作させることで、順送り動作で既に通って安全が確認されている軌跡を遡って、ロボット10を過去のある地点の状態まで戻すことができる。さらに、ロボット制御システム30は、ログ44を遡って逆送り動作を行う際、ログ44に含まれるシーン情報41の制限値内でロボット10を動作させることにより、作業場面や位置に適した速度や力でロボット10を動作させることができるため、人等の安全をより確実に担保することができる。このように、本実施形態によれば、センサ等を用いない簡単な構成でかつ、ロボット10の作業場面に適した制限値でロボット10を安全に逆送り動作させることができる。
【0063】
また、例えば図8及び図9に示すように、ログ記憶処理は、順送り動作処理において動作内容に対応する全てのシーン情報41を記憶する処理を含む構成とすることができる。これによれば、例えばログ44の一部に欠損等が生じた場合であっても、全てのログ44にシーン情報41が含まれているため、ロボット10の制限値に関して問題無く逆送り動作を行うことができる。
【0064】
また、ログ記憶処理は、例えば図10及び図11に示すように、順送り動作処理において現在の1つ前の動作内容に関するシーン情報41を仮保持し、シーン情報41が切り替わらなかった場合は仮保持しているシーン情報41を記憶せず、シーン情報41が切り替わった場合には仮保持しているシーン情報41を記憶する処理を含む構成とすることができる。
【0065】
これによれば、ログ記憶処理部35は、逆送り動作処理においてシーン情報41の指定に必要なログ44にのみシーン情報41を含ませて記憶させることができるため、ログ44のデータ容量を低減することができ、逆送り動作処理時における処理負荷も低減することができる。
【0066】
なお、ロボット10の具体的構成は、上述した者に限られず、ロボット10の利用環境や目的に応じて、その構成を適宜変更することができる。また、ロボット10は、例えば搬送台車12を有さずにロボットアーム11のみで構成することもできるし、ロボットアーム11を有さずに搬送台車12のみで構成することもできる。また、ロボット10が利用される工場80の具体的構成も、上述したものに限られず、適宜変更することができる。
【0067】
本開示は、実施例に準拠して記述されたが、本開示は当該実施例や構造に限定されるものではないと理解される。本開示は、様々な変形例や均等範囲内の変形をも包含する。加えて、様々な組み合わせや形態、さらには、それらに一要素のみ、それ以上、あるいはそれ以下、を含む他の組み合わせや形態をも、本開示の範疇や思想範囲に入るものである。
【符号の説明】
【0068】
10…ロボット、30…ロボット制御システム、33…記憶装置、34…順送り動作処理部、35…ログ記憶処理部、36…逆送り動作処理部、41…シーン情報、42…順送り動作プログラム、43…ロボット制御プログラム、44…ログ
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11