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

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

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

特開2023-175302ロボット制御システム、及びロボット制御プログラム
<>
  • 特開-ロボット制御システム、及びロボット制御プログラム 図1
  • 特開-ロボット制御システム、及びロボット制御プログラム 図2
  • 特開-ロボット制御システム、及びロボット制御プログラム 図3
  • 特開-ロボット制御システム、及びロボット制御プログラム 図4
  • 特開-ロボット制御システム、及びロボット制御プログラム 図5
  • 特開-ロボット制御システム、及びロボット制御プログラム 図6
  • 特開-ロボット制御システム、及びロボット制御プログラム 図7
  • 特開-ロボット制御システム、及びロボット制御プログラム 図8
  • 特開-ロボット制御システム、及びロボット制御プログラム 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023175302
(43)【公開日】2023-12-12
(54)【発明の名称】ロボット制御システム、及びロボット制御プログラム
(51)【国際特許分類】
   B25J 13/00 20060101AFI20231205BHJP
【FI】
B25J13/00 Z
【審査請求】未請求
【請求項の数】4
【出願形態】OL
(21)【出願番号】P 2022087681
(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】一実施形態によるロボット制御システムについて、順送り動作プログラムのプログラムコードの一例を示す図
図9】一実施形態によるロボット制御システムについて、コマンド設定処理で設定された順送りシーン情報及び逆送りシーン情報の一例を示す図
【発明を実施するための形態】
【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は、シーン情報42、順送り動作プログラム41、及びロボット制御プログラム43を記憶している。
【0025】
シーン情報42は、ロボット10の作業場面に応じて予め設定される情報であってロボット10の動作に関する制限値を含んだ情報である。シーン情報42は、例えばユーザによって任意に設定可能な情報とすることができる。本実施形態の場合、ユーザは、例えば端末装置20を介して、シーン情報42の追加、削除、及び内容の編集を行うことができる。シーン情報42は、例えば図4に示すように、少なくとも識別値と制限値とを有している。なお、図4の例において、シーン1、シーン2、シーン3・・・で示す各行が、それぞれ1つのシーン情報42を構成する。識別値は、各シーン情報を識別するためのもので各シーン情報に固有の値である。識別値は、例えば重複しない数値で構成されたシーン番号とすることができる。
【0026】
制限値は、ロボット10の動作を制限するための情報、すなわちロボット10の動作の安全に関するパラメータである。ロボットアーム11に関する制限値としては、例えばロボットアーム11の力、動作速度、及び動作範囲等を設定することができる。搬送台車12に関する制限値としては、例えば搬送台車12の移動速度を設定することができる。ロボット制御システム30は、指定されたシーン情報42に含まれる制限値の範囲内でロボット10の動作を制御する。
【0027】
また、シーン情報42は、備考情報を含んで構成することができる。備考情報は、制限値に対応したロボット10の作業場面つまり作業シーンを説明する情報である。備考情報は、例えばそのシーン情報42で想定されている場面が、人との協働を前提としたものか否か、及び人との接触可能性に関する情報を含んだものとすることができる。すなわち、ユーザは、ロボット10が使用される場面を備考情報に設定し、その備考情報に対応する制限値を、その備考情報で想定された場面に適した値に設定することができる。ユーザは、例えばロボット10の作業場面や現在位置毎にシーン情報42の具体的内容を異なるものとすることができる。
【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の作業場面に応じたシーン情報42を適宜追加することができる、
【0031】
順送り動作プログラム41は、ロボット10に所定の動作を行わせるためのコンピュータプログラムであり、ロボット10の動作内容及びシーン情報42の切り替えを指示するためのプログラムコードすなわちコマンドを含んでいる。順送り動作プログラム41は、ロボット10のユーザ、例えば教示者が作成するものである。ロボット10のユーザは、ロボット10の動作を教示したり、GUI(Graphical User Interface)を用いたいわゆるノーコード開発を行ったり、プログラムコードを打ち込んだりすることで、順送り動作プログラム41を作成し編集することができる。
【0032】
ユーザは、順送り動作プログラム41に、ロボット10の動作に関する制限値を直接記述するのではなく、シーン情報42を指定するコマンドを記述することによって、ロボット10の動作に関する制限値を指定することができる。この場合、ユーザは、ロボット10の位置や動作に応じてシーン情報42を指定することで、ロボット10の位置や動作に応じた制限値、つまり指定されたシーン情報42に設定された制限値でロボット10を動作させることができる。また、ユーザは、ロボット10の位置や動作内容が異なる複数の作業場面に対して同一のシーン情報42を指定することができる。この場合、シーン情報42の制限値を変更すると、その変更された制限値は、同一のシーン情報42が指定されている各作業場面に反映される。
【0033】
図5は、ロボット10の位置に応じて指定されるシーン情報42の一例を示すものである。本実施形態の場合、ピッキングエリアE1は、ロボット10と人との協働を想定した領域、すなわちロボット10と人とが接触する可能性が高い領域である。そのため、ユーザは、ロボット10がピッキングエリアE1内に侵入した場合にはシーン情報42をシーン1に切り替えるように順送り動作プログラム41を構成する。
【0034】
また、通路エリアE2は、ロボット10と人との協働は想定していないが、ロボット10と人とが接触する可能性がある領域である。このため、ユーザは、ロボット10が通路エリアE2内に侵入した場合にはシーン情報42をシーン2に切り替えるように順送り動作プログラム41を構成する。そして、荷積みエリアE3は、ロボット10と人との協働は想定しておらず、かつ、ロボット10と人とが接触する可能性もほとんどない領域である。このため、ユーザは、ロボット10が荷積みエリアE3内に侵入した場合にはシーン情報42をシーン3に切り替えるように順送り動作プログラム41を構成する。
【0035】
図6及び図7は、順送り動作プログラム41によるロボット10の動作内容の一例である。具体的には、図6及び図7は、ロボット10が、排出台82と荷積み台83との間を往復してワーク90のピッキングと荷積みとを繰り返す場合の制御内容の一例である。制御装置31は、図6及び図7に示す順送り動作プログラム41を実行することにより、ロボット10に、ワーク90のピッキング、運搬、荷積みといった一連の動作を行わせることができる。
【0036】
図1に示すロボット制御プログラム43は、順送り動作処理部34、逆送り動作処理部35、及びコマンド設定処理部36をコンピュータ上で仮想的に実現するためのコンピュータプログラムである。制御装置31は、CPU311がロボット制御プログラム43を補助記憶装置33から読み出して主記憶装置312に展開し実行することで、順送り動作処理部34、逆送り動作処理部35、及びコマンド設定処理部36をそれぞれコンピュータ上で仮想的に実現することができる。なお、各処理部34、35、36の実現は、上記したハードウェアとプログラムの組み合わせに限らず、プログラムをインプリメントした集積回路のようなハードウェア単体で実現するようにしてもよいし、一部の機能を専用のハードウェアで実現し、一部をハードウェアとプログラムの組み合わせで実現するようにしてもよい。
【0037】
順送り動作処理部34は、順送り動作処理を実行可能である。順送り動作処理は、補助記憶装置33に記憶されている順送り動作プログラム41を順次実行することでロボット10を順送り動作させる処理を含む。順送り動作処理は、順送り動作プログラム41の実行により、ロボット10の現在の動作内容に応じたシーン情報42に切り替えて、そのシーン情報42に含まれている制限値内でロボット10を動作させる処理を含んでいる。なお、順送り動作プログラム41を順次実行するとは、順送り動作プログラム41に記載されているプログラムコード若しくはコマンドを、その記載順に従って実行することでロボット10を動作させることを意味する。
【0038】
順送り動作処理部34は、順送り動作プログラム41を呼び出して順送り動作処理を実行すると、例えば図6及び図7に示す一連の処理を行う。なお、この場合、ロボット10は、ピッキングエリアE1内の地点P1に位置していることを前提としている。地点P1は、ロボット10がピッキングを行う位置である。順送り動作処理部34は、まず、図6のステップS11において、ロボット10の動作に用いるシーン情報42をシーン1に切り替える。そして、順送り動作処理部34は、ステップS12においてシーン1で設定されている制限値内でロボット10を動作させてワーク90のピッキングを行う。
【0039】
ピッキングが終了すると(ステップS13でYES)、順送り動作処理部34は、ステップS14に処理を移行させる。そして、順送り動作処理部34は、図2に示すように、ワーク90を搭載したロボット10を、通路エリアE2を通って荷積みエリアE3の地点P4まで移動させて、ワーク90を地点P4まで搬送する。地点P4は、ロボット10がワーク90の荷積みを行う位置である。
【0040】
この場合、順送り動作処理部34は、まず、ロボット10の動作に用いるシーン情報42をシーン1に維持したまま地点P1から地点P2までロボット10を移動させる。すなわち、ロボット10がピッキングエリアE1内に侵入している間、順送り動作処理部34は、ロボット10の動作を、シーン1で設定されている制限値内に制限する。なお、地点P2は、ロボット10の移動経路上に設定された地点でかつ異なるエリアの境界の位置であり、この場合、ピッキングエリアE1と通路エリアE2との境界位置となる。
【0041】
ロボット10が地点P2に到達すると(ステップS15でYES)、順送り動作処理部34は、ステップS16において、ロボット10の動作に用いるシーン情報42をシーン2に切り替える。そして、順送り動作処理部34は、ステップS17において、シーン2で設定されている制限値内でロボット10を動作させ、地点P3までロボット10を移動させてワーク90の搬送動作を継続する。すなわち、ロボット10が通路エリアE2内に侵入した場合、順送り動作処理部34は、ロボット10の動作を、シーン2で設定されている制限値内に制限する。なお、地点P3は、ロボット10の移動経路上に設定された地点でかつ異なるエリアの境界の位置であり、この場合、通路エリアE2と荷積みエリアE3との境界位置となる。
【0042】
ロボット10が地点P3に到達すると(ステップS18でYES)、順送り動作処理部34は、ステップS19において、ロボット10の動作に用いるシーン情報42をシーン3に切り替える。そして、順送り動作処理部34は、ステップS20において、シーン3で設定されている制限値内でロボット10を動作させ、地点P4までロボット10を移動させてワーク90の搬送動作を継続する。すなわち、ロボット10が荷積みエリアE3内に侵入した場合、順送り動作処理部34は、ロボット10の動作を、シーン3で設定されている制限値内に制限する。
【0043】
ロボット10が地点P4に到達すると(ステップS21でYES)、順送り動作処理部34は、図7のステップS22において、シーン3で設定されている制限値内でロボット10を動作させ、搬送台車12に搭載されているワーク90を荷積み台83に移し替えて荷積みを実行する。荷積みが終了すると(ステップS23でYES)、順送り動作処理部34は、ロボット10を、通路エリアE2を通ってピッキングエリアE1まで戻す。
【0044】
この場合、順送り動作処理部34は、ロボット10の動作に用いるシーン情報42をシーン3に維持したまま、ステップS24において、地点P3までロボット10を移動させる。ロボット10が地点P3に到達すると(ステップS25でYES)、順送り動作処理部34は、ステップS26において、ロボット10の動作に用いるシーン情報42をシーン2に切り替える。そして、順送り動作処理部34は、ステップS27において、シーン2で設定されている制限値内でロボット10を動作させ、地点P2までロボット10を移動させる。
【0045】
ロボット10が地点P2に到達すると(ステップS28でYES)、順送り動作処理部34は、ステップS29において、ロボット10の動作に用いるシーン情報42をシーン1に切り替える。順送り動作処理部34は、ステップS30において、シーン1で設定されている制限値内でロボット10を動作させ、地点P1までロボット10を移動させる。そして、ロボット10が地点P1に到達すると(ステップS31でYES)、順送り動作処理部34は、図6のステップS11に処理を戻し、上述した一連の処理を再び実行する。
【0046】
逆送り動作処理部35は、逆送り動作処理を実行可能である。逆送り動作処理は、順送り動作プログラム41における順送り動作処理で停止された地点から、順送り動作プログラム41を遡って実行することでロボット10を逆送りで動作させる処理を含んでいる。逆送り動作処理は、順送り動作処理の実行によるロボット10の動作をいわゆる逆再生する処理である。逆送り動作処理におけるロボット10の動作は、例えば順送り動作処理と同じシーン情報42の制限値に基づいて制限される。
【0047】
ユーザは、例えば端末装置20等を用いて、過去のある時点を指定して、逆送り動作処理部35に逆送り動作処理を実行させる。逆送り動作処理部35は、逆送り動作処理を実行すると、順送り動作プログラム41を、停止地点から遡って実行するロボット10を逆送りで動作させる。これにより、ロボット10は、順送り動作処理の実行により動作したロボット10の軌跡を、シーン情報42を含めて逆に辿ることで、ロボット10の軌跡に関して安全を確保しながら指定された過去のある特定の時点の状態にまで戻される。
【0048】
図8は、順送り動作プログラム41のうち地点P1から地点P4まで移動するためのプログラムのプログラムコードの一例を示している。図8の例において、シーン情報切り替えコマンドは、“Change Scene X”である。この場合、Xは、シーン情報切り替えコマンドを識別するための値、例えばシーン番号が入る。また、”Move PN”は、ロボット10を地点PNまでの移動を指示するコマンドである。この場合、Nは、地点P1からP3に対応した整数が入る。そして、図8において、”Get Position(P)”は、ロボット10の現在位置を取得するコマンドである。
【0049】
本実施形態において、図8の11行から13行は、図6のステップS14、S15に対応している。図8の15行にある”Change Scene 2”は、図6のステップS16に対応している。図8の16行から18行は、図6のステップS17、S18に対応している。図8の20行にある”Change Scene 3”は、図6のステップS19に対応している。そして、図8の21行から23行は、図6のステップS20、S21に対応している。
【0050】
コマンド設定処理部36は、コマンド設定処理を実行可能である。コマンド設定処理は、図9に示すように、シーン情報切り替えコマンドに対して、順送りシーン情報と逆送りシーン情報とを、上述した順送り動作処理及び逆送り動作処理に先立って予め設定する処理を含む。シーン情報切り替えコマンドは、順送り動作プログラム41に含まれるコマンドであって指定されたシーン情報42に切り替えるためのコマンドつまりプログラムコードである。また、順送りシーン情報は、順送り動作処理で用いるシーン情報42である。そして、逆送りシーン情報は、逆送り動作処理で用いるシーン情報42である。
【0051】
コマンド設定処理部36は、シーン情報切り替えコマンドである“Change Scene X”に対して、順送り動作プログラム41を記載順に順次実行する場合と、順送り動作プログラム41を記載順に対して遡って実行する場合とで、異なるシーン情報42を割り当てることができる。図9の例において、”Change Scene 1”には、順送りシーン情報としてシーン1が割り当てられている。また、”Change Scene 2”には、順送りシーン情報としてシーン2が割り当てられているとともに、逆送りシーン情報としてシーン1が割り当てられている。そして、”Change Scene 3”には、順送りシーン情報としてシーン3が割り当てられているとともに、逆送りシーン情報としてシーン2が割り当てられている。
【0052】
この場合、コマンド設定処理は、ユーザから入力された設定に基づいて順送りシーン情報と逆送りシーン情報とを個別に設定する処理を含んでいても良い。すなわち、“Change Scene X”に対応する順送りシーン情報及び逆送りシーン情報は、ユーザが個別に任意に設定できる構成とすることができる。この場合、ユーザは、例えば端末装置20等を用いて入力することで、“Change Scene X”に対して順送りシーン情報及び逆送りシーン情報を個別に任意に割り当てることができる。
【0053】
また、順送りシーン情報は、ユーザの手動によって割り当てられる構成とし、逆送りシーン情報は、ユーザが割り当てた順送りシーン情報に基づいてコマンド設定処理部36によって自動で割り当てられる構成とすることもできる。この場合、コマンド設定処理は、例えばユーザから入力された設定に基づいて順送りシーン情報を設定する処理を含んでいる。
【0054】
この場合、“Change Scene X”コマンドの”Scene X”には、割り当てたい順送りシーン情報の番号をユーザが直接指定する構成とすることができる。すなわち、順送り動作プログラム41において“Change Scene 1”と記述された場合、コマンド設定処理部36は、“Change Scene 1”に対応する順送りシーン情報として「シーン1」のシーン情報42を割り当てる。また、順送り動作プログラム41において“Change Scene 2”と記述された場合、コマンド設定処理部36は、“Change Scene 2”に対応する順送りシーン情報として「シーン2」のシーン情報42を割り当てる。そして、順送り動作プログラム41において“Change Scene 3”と記述された場合、コマンド設定処理部36は、“Change Scene 3”に対応する順送りシーン情報として「シーン3」のシーン情報42を割り当てる。
【0055】
そして、コマンド設定処理は、順送り動作プログラム41において順送りシーン情報が切り替えられる1つ前の順送りシーン情報を逆送りシーン情報に設定する処理を含む構成とすることができる。この場合、例えば図8の20行目の“Change Scene 3”に対して、コマンド設定処理部36は、この20行目の“Change Scene 3”の1つ前のシーン情報切り替えコマンドである15行目の“Change Scene 2”に割り当てられた順送りシーン情報つまり「シーン2」を、逆送りシーン情報として自動で割り当てる。
【0056】
また、15行目の“Change Scene 2”に対して、コマンド設定処理部36は、この15行目の“Change Scene 2”の1つ前のシーン情報切り替えコマンドである02行目の“Change Scene 1”に割り当てられた順送りシーン情報つまり「シーン1」を、逆送りシーン情報として自動で割り当てる。そして、コマンド設定処理部36は、上記したコマンド設定処理の結果、つまりシーン情報切り替えコマンドに割り当てられた順送りシーン情報及び逆送りシーン情報を、コマンド設定44として補助記憶装置33等の不揮発性の記憶領域に記憶させる。
【0057】
順送り動作処理は、シーン情報切り替えコマンドを実行した場合に順送りシーン情報に含まれている制限値内でロボット10を動作させる処理を含んでいる。すなわち、順送り動作処理部34は、順送り動作プログラム41を記述順に従って順次実行する際に、シーン情報切り替えコマンドを実行すると、図9のシーン情報切り替えコマンドと順送りシーン情報との対応関係に基づいて、シーン情報42を切り替える。そして、順送り動作処理部34は、その切り替えたシーン情報42で設定されている制限値内でロボット10を動作させる。
【0058】
これに対し、逆送り動作処理は、シーン情報切り替えコマンドが実行された場合に逆送りシーン情報に含まれている制限値内でロボット10を動作させる処理を含んでいる。すなわち、逆送り動作処理部35は、順送り動作プログラム41を遡って実行する際に、シーン情報切り替えコマンドを実行すると、図9のシーン情報切り替えコマンドと逆送りシーン情報との対応関係に基づいて、シーン情報42を切り替える。そして、逆送り動作処理部35は、その切り替えたシーン情報42で設定されている制限値内でロボット10を動作させる。
【0059】
この場合、順送り動作処理部34は、現在のシーン情報42を主記憶装置312等に一時的に記憶する処理を実行可能である。そして、逆送り動作処理部35は、逆送り動作処理を実行した場合に、まず、順送り動作処理で停止された時点で指定されていたシーン情報42、すなわち、主記憶装置312等に一時的に記憶されているシーン情報42を指定する処理を実行可能である。その後、逆送り動作処理部35は、順送り動作処理で停止された行から遡って順送り動作プログラム41を実行する。
【0060】
なお、本実施形態において、逆送り動作処理部35は、順送り動作プログラム41を遡って実行する場合、23行、22行、21行、20行・・・といったように、順送り動作プログラム41の行に厳密に遡って実行するのではなく、プログラムの実行単位で遡って実行する。すなわち、逆送り動作処理部35は、例えば21行から23行を1つの実行単位として実行する。その後、逆送り動作処理部35は、順送り動作プログラム41を遡り、20行を実行する。更にその後、逆送り動作処理部35は、順送り動作プログラム41を遡り、16行から18行を1つの実行単位として実行した後、15行を実行する。このように、逆送り動作処理部35は、任意の地点まで順送り動作プログラム41を遡って実行する。
【0061】
ここで、上述したロボット10のように、協働作業を前提とし、かつ、作業領域が比較的広範囲となるものにおいては、協働者の安全を担保するため、作業位置や作業内容に合わせてロボット10の動作速度や力、動作領域を制限する安全機能の実現が必要である。この場合、例えば順送り動作プログラム41を、ロボット10の移動や動作に応じて逐次制限値を切り替えるようにすることも考えられるが、特にロボット10の作業領域が広範囲になると、制限値の切り替えが頻繁になって処理負荷が極端に増大するため現実的ではない。
【0062】
これに対し、例えばセンサ等を用いてロボット10の周囲に存在する人や障害物等を検知することで、周囲の状況に応じてロボット10の動作速度の上限値を変更したり、停止させたりすることも考えられる。しかしながら、センサ等を用いると部品コスト、部品点数、組み立て工数等が増大し、ロボットのコストアップにつながる。
【0063】
そこで、以上説明した実施形態によれば、ロボット制御システム30は、記憶装置33と、順送り動作処理部34と、を備えている。記憶装置33は、シーン情報42と、順送り動作プログラム41と、を記憶している。シーン情報42は、ロボット10の作業場面に応じて予め設定される情報であって、ロボット10の動作に関する制限値を含んだ情報である。順送り動作プログラム41は、ロボット10の動作内容及びシーン情報42の切り替えを指示するためのコンピュータプログラムである。順送り動作処理部34は、順送り動作処理を実行可能である。順送り動作処理は、順送り動作プログラム41を順次実行することでロボット10を順送り動作させる処理である。そして、順送り動作処理は、順送り動作プログラム41に記載されているシーン情報切り替えコマンドを実行した場合に順送りシーン情報に含まれている制限値内でロボット10を動作させる処理を含んでいる。
【0064】
これによれば、ロボット制御システム30は、ロボット10を順送りで動作させる際、作業場面に応じたシーン情報42を呼び出し、そのシーン情報42に含まれる制限値内でロボット10を動作させる。そのため、ロボット制御システム30は、ロボット10の移動や動作に応じて頻繁に制限値を切り替える必要がないため、処理負荷の増大を抑制することができる。更に、ロボット制御システム30は、シーン情報42を用いることにより、人等を検知するためのセンサ等を用いることなく作業場面に適した制限値内でロボット10を安全に動作させることができる。このように、本実施形態によれば、センサ等を用いない簡単な構成でかつ、ロボット10の作業場面に適した制限値でロボット10を安全に順送り動作させることができる。
【0065】
ここで、例えばユーザがロボット10の動作を教示している最中等に、ロボット10の動作を停止させ、その後、過去のある時点の位置や姿勢にロボット10を戻す動作を行う必要が生じる場合がある。そして、この場合においても、人とロボット10とが協働する場合には、順送り動作処理の場合と同様に、ロボット10の動作を人の安全を担保したものとする必要がある。
【0066】
そこで、本実施形態のロボット制御システム30は、逆送り動作処理部35と、コマンド設定処理部36と、を更に備える。逆送り動作処理部35は、逆送り動作処理を実行可能である。逆送り動作処理は、順送り動作プログラム41を遡って実行することでロボット10を逆送りで動作させる処理を含む。コマンド設定処理部36は、コマンド設定処理を実行可能である。コマンド設定処理は、シーン情報切り替えコマンドに対して順送りシーン情報と逆送りシーン情報とを、順送り動作処理及び逆送り動作処理に先立って予め設定する処理である。この場合、シーン情報切り替えコマンドは、順送り動作プログラム41に含まれるコマンドであって指定されたシーン情報42に切り替えるためのものである。順送りシーン情報は、順送り動作処理で用いるシーン情報42である。逆送りシーン情報は、逆送り動作処理で用いるシーン情報42である。
【0067】
また、順送り動作処理は、シーン情報切り替えコマンドを実行した場合に順送りシーン情報に含まれている制限値内でロボット10を動作させる処理を含んでいる。そして、逆送り動作処理は、シーン情報切り替えコマンドが実行された場合に逆送りシーン情報に含まれている制限値内でロボット10を動作させる処理を含んでいる。
【0068】
これによれば、ロボット制御システム30は、順送り動作プログラム41を遡ってロボット10を逆送り動作させることで、順送り動作で既に通って安全が確認されている軌跡を遡って、ロボット10を過去のある地点の状態まで戻すことができる。そして、ロボット制御システム30は、順送り動作プログラム41を遡って逆送り動作を行う際に、コマンド設定処理で設定された逆送りシーン情報に基づいてロボット10の動作を制限することができる。
【0069】
さらに、ロボット制御システム30は、順送り動作プログラム41を遡って逆送り動作を行う際、順送り動作プログラム41に含まれるシーン切り替えコマンドを実行した場合に、コマンド設定処理で設定された逆送りシーン情報の制限値内でロボット10を動作させることにより、作業場面や位置に適した速度や力でロボット10を動作させることができるため、人等の安全をより確実に担保することができる。そして、この場合、逆送り動作処理部35は、順送り動作プログラム41を遡って実行する構成である。このため、ユーザは、逆送り動作処理を行うために順送り動作プログラム41とは別のプログラムを準備する必要がない。このように、本実施形態によれば、センサ等を用いず、また、逆送り動作処理のためのプログラムを別途準備することのない簡単な構成で、かつ、ロボット10の作業場面に適した制限値でロボット10を安全に逆送り動作させることができる。
【0070】
コマンド設定処理は、ユーザから入力された設定に基づいて順送りシーン情報と逆送りシーン情報とを個別に設定する処理を含むように構成することができる。これによれば、ユーザは、順送り動作処理と逆送り動作処理とにおいて同一の作業場面で異なるシーン情報を指定することができるため、例えば順送り動作処理よりも逆送り動作処理の方が制限値を厳しくする等のように、より柔軟な逆送り動作処理を実現することができる。
【0071】
また、コマンド設定処理は、ユーザから入力された設定に基づいて順送りシーン情報を設定するとともに、順送り動作プログラム41において順送りシーン情報が切り替えられる1つ前の順送りシーン情報を逆送りシーン情報に設定する処理を含むように構成することもできる。これによれば、逆送りシーン情報は、ユーザが割り当てた順送りシーン情報に基づいてコマンド設定処理部36によって自動で割り当てられる。このため、ユーザは、逆送り動作処理に関して逆送りシーン情報の設定等を特に意識する必要がなくなるため、より簡単に逆送り動作処理を実現することができる。
【0072】
なお、ロボット10の具体的構成は、上述した者に限られず、ロボット10の利用環境や目的に応じて、その構成を適宜変更することができる。また、ロボット10は、例えば搬送台車12を有さずにロボットアーム11のみで構成することもできるし、ロボットアーム11を有さずに搬送台車12のみで構成することもできる。また、ロボット10が利用される工場80の具体的構成も、上述したものに限られず、適宜変更することができる。
【0073】
本開示は、実施例に準拠して記述されたが、本開示は当該実施例や構造に限定されるものではないと理解される。本開示は、様々な変形例や均等範囲内の変形をも包含する。加えて、様々な組み合わせや形態、さらには、それらに一要素のみ、それ以上、あるいはそれ以下、を含む他の組み合わせや形態をも、本開示の範疇や思想範囲に入るものである。
【符号の説明】
【0074】
10…ロボット、30…ロボット制御システム、33…記憶装置、34…順送り動作処理部、35…逆送り動作処理部、36…コマンド設定処理部、41…順送り動作プログラム、42…シーン情報、43…ロボット制御プログラム
図1
図2
図3
図4
図5
図6
図7
図8
図9