(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024041332
(43)【公開日】2024-03-27
(54)【発明の名称】ロボット制御システム及びロボット制御方法
(51)【国際特許分類】
G05B 19/042 20060101AFI20240319BHJP
【FI】
G05B19/042
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2022146079
(22)【出願日】2022-09-14
【新規性喪失の例外の表示】特許法第30条第2項適用申請有り [1] 販売・納入日(公開日) 令和4年6月17日 販売・納入先 シンフォニアテクノロジー株式会社 伊勢製作所(三重県伊勢市竹ケ鼻町100) [2] 貸し出し日(公開日) 令和4年8月5日 貸し出し先 東京女子医科大学(東京都新宿区河田町8-1) [3] 販売・納入日(公開日) 令和4年8月7日 販売・納入先 日本電気株式会社 関西支社(大阪市中央区城見一丁目4―24) [4] 販売・納入日(公開日) 令和4年9月1日 販売・納入先 東京女子医科大学(東京都新宿区河田町8-1) [5] 開催日 令和4年9月1日 開催場所 ロボットアーム説明会 主催 THK株式会社 東京都大田区東糀谷4丁目9-16 THK(株)テクノセンター
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.ANDROID
(71)【出願人】
【識別番号】390029805
【氏名又は名称】THK株式会社
(74)【代理人】
【識別番号】100141139
【弁理士】
【氏名又は名称】及川 周
(74)【代理人】
【識別番号】100161506
【弁理士】
【氏名又は名称】川渕 健一
(74)【代理人】
【識別番号】100188891
【弁理士】
【氏名又は名称】丹野 拓人
(72)【発明者】
【氏名】佐野 将人
(72)【発明者】
【氏名】永塚 正樹
【テーマコード(参考)】
5H220
【Fターム(参考)】
5H220AA05
5H220BB12
5H220CC06
5H220CX02
5H220DD04
5H220HH08
5H220JJ12
5H220JJ24
5H220JJ29
5H220JJ42
5H220JJ53
(57)【要約】
【課題】ラダープログラム内の変数値を外部から容易に書き換える。
【解決手段】ロボット制御システムは、プログラムに記載された処理に基づいてロボットを制御する情報処理装置と情報処理装置からの指示に応じてユーザからの操作を取得する携帯端末装置とを備え、情報処理装置は、プログラムに記載された処理実行する制御部と、変数名と変数名に対応する複数の候補値とを送信し、複数の候補値の中から選択された選択値と変数名とが対応付けられた情報を受信する携帯端末通信部と、制御信号をロボットに出力するロボット通信部とを備え、携帯端末装置は、変数名と変数に対応する複数の候補値を取得する取得部と、複数の候補値をユーザに提示する提示部と、提示された複数の候補値の中から少なくとも1つの候補値を選択値として特定する操作を受け付ける操作受付部と、選択値と変数名とが対応付けられた情報を出力する出力部とを備える。
【選択図】
図1
【特許請求の範囲】
【請求項1】
ユーザの操作に基づき、プログラムを構成するタスクの始点又は終点を示す2つの母線間に複数の要素が配置され、前記要素を介して前記母線間が接続されることにより、ロボットに処理を実行させるプログラムに記載された処理に基づいてロボットを制御する情報処理装置と、前記情報処理装置からの指示に応じてユーザからの操作を取得する携帯端末装置とを備えるロボット制御システムであって、
前記情報処理装置は、
前記プログラムに記載された処理を実行する制御部と、
前記制御部からの指示に基づき、変数名と前記変数名に対応する複数の候補値とを送信し、複数の前記候補値の中から選択された選択値と前記変数名とが対応付けられた情報を受信する携帯端末通信部と、
前記制御部からの指示に基づき、制御信号を前記ロボットに出力するロボット通信部と、
を備え、
前記携帯端末装置は、
前記情報処理装置から送信された前記変数名と前記変数名により特定される変数に対応する複数の候補値を取得する取得部と、
取得した情報に基づき、複数の候補値をユーザに提示する提示部と、
提示された複数の前記候補値の中から少なくとも1つの前記候補値を前記選択値として特定する操作を受け付ける操作受付部と、
特定された前記選択値と前記変数名とが対応付けられた情報を出力する出力部とを備える
ロボット制御システム。
【請求項2】
前記操作受付部は、選択された複数の前記候補値を前記選択値として特定し、
前記候補値の数及び前記選択値の数は、前記プログラムにより設定される
請求項1に記載のロボット制御システム。
【請求項3】
前記携帯端末通信部は、前記制御部からの指示に基づき、変数名と前記変数名に対応する複数の前記候補値とを送信する第1回目の送信を行い、
前記携帯端末装置は、前記第1回目の送信において送信された複数の前記候補値の中から少なくとも1つの前記候補値を前記選択値として特定する第1回目の応答を行い、
前記携帯端末通信部は、前記制御部からの指示に基づき、前記第1回目の応答に応じて選択された複数の前記候補値を含む第2回目の送信を行う
請求項1又は2に記載のロボット制御システム。
【請求項4】
前記提示部は、前記携帯端末装置に備えられる表示部に複数の前記候補値を表示することにより提示し、
前記操作受付部は、前記表示部に表示された複数の前記候補値のうち、押下された前記候補値を前記選択値として特定する
請求項1又は2に記載のロボット制御システム。
【請求項5】
前記プログラムは、ラダープログラムである
請求項1又は請求項2に記載のロボット制御システム。
【請求項6】
ユーザの操作に基づき、プログラムを構成するタスクの始点又は終点を示す2つの母線間に複数の要素が配置され、前記要素を介して前記母線間が接続されることにより、ロボットに処理を実行させるプログラムに記載された処理と、ユーザからの操作とに基づいてロボットを制御するロボット制御方法であって、
前記プログラムに記載された処理実行する制御工程と、
前記制御工程による指示に基づき、変数名と前記変数名に対応する複数の候補値とをユーザに提示する提示工程と、
提示された複数の前記候補値の中から少なくとも1つの前記候補値を選択値として特定する操作を受け付ける操作受付工程と、
前記選択値として特定された操作に応じた前記制御工程による指示に基づき、制御信号を前記ロボットに出力するロボット通信工程と
を有するロボット制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボット制御システム及びロボット制御方法に関する。
【背景技術】
【0002】
産業用ロボット等を制御するための処理を記述するためのプログラミング言語として、ラダープログラムが頻繁に用いられている。ラダープログラムでは、数値データをデータレジスタに格納し、データレジスタの値(以下、変数値とも記載する。)に基づいた制御が行われる。従来、ラダープログラム内で使用されている変数値を、PLC(Programmable Logic Controller)と接続された外部機器を操作することにより書き換える技術が存在した。変数の書き換えを容易にする技術として、例えば特許文献1に記載されたような技術が知られている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
従来技術によれば、外部機器から任意のタイミングでラダープログラム内の変数値を書き換えることが可能になるかもしれない。しかしながら従来技術を用いた場合、変数がとりうる候補の数は予め固定されてしまい、候補の数を増やそうとすればラダープログラム及び外部機器に変更を加えなければならなかった。例えば外部機器がスイッチである場合、候補の数を増やそうとすれば、候補の数だけスイッチを用意しなければならず、プログラムの変更に時間とコストを要していた。すなわち、従来技術によれば、ラダープログラム内の変数値を外部から書き換えることは容易でないという問題があった。
【0005】
そこで本発明は、ラダープログラム内の変数値を外部から容易に書き換えることが可能な技術を提供しようとするものである。
【課題を解決するための手段】
【0006】
上記の課題を解決するため、本発明の一態様は、ユーザの操作に基づき、プログラムを構成するタスクの始点又は終点を示す2つの母線間に複数の要素が配置され、前記要素を介して前記母線間が接続されることにより、ロボットに処理を実行させるプログラムに記載された処理に基づいてロボットを制御する情報処理装置と、前記情報処理装置からの指示に応じてユーザからの操作を取得する携帯端末装置とを備えるロボット制御システムであって、前記情報処理装置は、前記プログラムに記載された処理を実行する制御部と、前記制御部からの指示に基づき、変数名と前記変数名に対応する複数の候補値とを送信し、複数の前記候補値の中から選択された選択値と前記変数名とが対応付けられた情報を受信する携帯端末通信部と、前記制御部からの指示に基づき、制御信号を前記ロボットに出力するロボット通信部と、を備え、前記携帯端末装置は、前記情報処理装置から送信された前記変数名と前記変数名により特定される変数に対応する複数の候補値を取得する取得部と、取得した情報に基づき、複数の候補値をユーザに提示する提示部と、提示された複数の前記候補値の中から少なくとも1つの前記候補値を前記選択値として特定する操作を受け付ける操作受付部と、特定された前記選択値と前記変数名とが対応付けられた情報を出力する出力部とを備えるロボット制御システムである。
【0007】
また、上記の課題を解決するため、本発明の一態様は、ユーザの操作に基づき、プログラムを構成するタスクの始点又は終点を示す2つの母線間に複数の要素が配置され、前記要素を介して前記母線間が接続されることにより、ロボットに処理を実行させるプログラムに記載された処理と、ユーザからの操作とに基づいてロボットを制御するロボット制御方法であって、前記プログラムに記載された処理実行する制御工程と、前記制御工程による指示に基づき、変数名と前記変数名に対応する複数の候補値とをユーザに提示する提示工程と、提示された複数の前記候補値の中から少なくとも1つの前記候補値を選択値として特定する操作を受け付ける操作受付工程と、前記選択値として特定された操作に応じた前記制御工程による指示に基づき、制御信号を前記ロボットに出力するロボット通信工程とを有するロボット制御方法である。
【発明の効果】
【0008】
本発明によれば、ラダープログラム内の変数値を外部から容易に書き換えることができる。
【図面の簡単な説明】
【0009】
【
図1】実施形態に係るロボットシステムの概要について説明するための図である。
【
図2】実施形態に係る情報処理装置の機能構成の一例を示す図である。
【
図3】実施形態に係る携帯端末装置の機能構成の一例を示す図である。
【
図4】実施形態に係るロボットの機能構成の一例を示す図である。
【
図5】実施形態に係るラダープログラムの一例を示す図である。
【
図6】実施形態に係るブロック呼び出し画面の一例を示す図である。
【
図7】実施形態に係る携帯端末装置の表示部に表示される画面構成の一例について説明するための図である。
【
図8】実施形態に係るロボット制御システムの一連の動作の一例を示すシーケンス図である。
【
図9】実施形態に係る携帯端末装置の表示部に表示される画面構成の変形例について説明するための図である。
【発明を実施するための形態】
【0010】
以下、本発明の実施形態について図面を参照して説明する。以下に示す実施形態は、発明の趣旨をより良く理解させるために、例を挙げて説明するものであり、特に指定のない限り、本発明を限定するものではない。
【0011】
[実施形態]
まず、実施形態の前提となる事項を説明する。
【0012】
本実施形態に係るロボットシステム1は、所定の制御プログラムに基づいてロボットを制御する。本実施形態に係るロボットには、サービスロボットや産業用ロボット等、所定の制御プログラムに基づいた処理を行うロボットが広く含まれる。以下に説明する実施形態においては、ロボットシステム1が自律的に移動し、物体を把持して移動させるサービスロボットを制御する場合の一例について説明する。
また、本実施形態に係る所定の制御プログラムとは、ラダー図(LD言語、又はラダー言語)、FB(ファンクションブロック)言語、SFC(シーケンシャル・ファンクション・チャート)言語、及びこれらに類似した言語等を用いて作成された制御プログラムを広く含む。これらに類似した言語とは、例えば、ラダー図に似た図を用いたものであってもよく、ユーザの操作に基づき2つの母線間に複数の要素を配置し、配置された要素を介して母線間が接続されることにより、ロボットに実行させる処理が記載されるものであってもよい。2つの母線とは、ラダー図の場合と同様の役割を有する。一方の母線はプログラムを構成するタスクの始点を示し、他方の母線はタスクの終点を示すものである。また、本実施形態に係る所定の制御プログラムは、ロボットに実行させる処理が記載されるものに限定されず、コンピュータに実行させる処理が記載されたものであってもよい。以下の説明においては、一例として、本実施形態に係る所定の制御プログラムがラダー図である場合について説明する。
【0013】
図1は、実施形態に係るロボットシステムの概要について説明するための図である。同図を参照しながら、ロボットシステム1の概要について説明する。ロボットシステム1は、情報処理装置10と、携帯端末装置40と、ロボット30とを備える。ロボットシステム1は、情報処理装置10と携帯端末装置40とロボット30とを備えることにより、ユーザからの操作に基づいてロボット30に所定の処理を行わせる。ここで、ユーザからの操作とは、ロボット30が駆動している最中に行われる操作(リアルタイム操作)であってもよいし、ロボット30が駆動する前に予め行われる制御プログラム作成等の操作であってもよい。また、ユーザは、ロボット30が駆動している最中に携帯端末装置40を操作することによりロボット30に所望の処理を行わせる。ユーザとは、ロボット30を最終的に使用するエンドユーザであってもよいし、ロボット30が工場から出荷される前に作業する作業員であってもよい。
【0014】
情報処理装置10は、ラダープログラム14を有する。ラダープログラム14は、情報処理装置10が備える不図示の記憶部に記憶される。
情報処理装置10と、ロボット30とは、互いに所定の有線又は無線による通信方式により双方向通信を行ってもよい。所定の通信方式とは、ブルートゥース(登録商標)(Bluetooth)又はWi-Fi(登録商標)等であってもよい。
情報処理装置10は、ラダープログラム14に記述された処理に基づいて、ロボット30にロボット制御情報RCIを出力することにより、ロボット30を制御する。ロボット制御情報RCIには、ロボット30を制御するための制御信号が含まれる。
【0015】
なお、情報処理装置10とロボット30とは、双方向通信を行ってもよい。この場合、ロボット30は、ロボット制御情報RCIに応答する不図示のロボット応答情報RRIを情報処理装置10に出力する。ロボット応答情報RRIには、ロボット30が備える各センサにより取得される情報が含まれていてもよい。ロボット応答情報RRIは、ロボット制御情報RCIに対する応答に加え、ロボット30が備える各種センサの値に応じて出力されてもよい。
【0016】
なお、ラダープログラム14は、情報処理装置10にインストールされた不図示の編集ソフトにより作成及び編集されてもよい。当該編集ソフトは、インターネット上で動作するWebアプリケーションであってもよい。当該編集ソフトは、ユーザからの操作に基づきラダープログラム14を生成する。
なお、情報処理装置10は、例えば、パーソナルコンピュータや、タブレット端末、スマートフォン等の一般に用いられるコンピュータであってもよい。
【0017】
情報処理装置10と、携帯端末装置40とは、互いに所定の有線又は無線による通信方式により接続される。所定の通信方式とは、ブルートゥース(登録商標)(Bluetooth)又はWi-Fi(登録商標)等であってもよい。
情報処理装置10は、携帯端末装置40に携帯端末要求情報TRIを出力することにより、ユーザに対し変数値の候補を提示する。携帯端末要求情報TRIに含まれる変数値の候補とは、ロボット30の制御に関するものであり、例えばロボット30に行わせる動作等を示すものであってもよい。情報処理装置10は、携帯端末装置40から携帯端末応答情報TAIを取得することにより、提示した変数値の候補のうち、ユーザが所望する候補値についての情報を得る。
【0018】
ロボット30は、情報処理装置10から送信されたロボット制御情報RCIを取得する。ロボット30は、取得したロボット制御情報RCIにしたがってシーケンス制御される。ロボット制御情報RCIによりロボット30に行わせる処理とは、例えばロボット30の移動や、周囲の状況の撮像、物体の把持、物体の移動等であってもよい。
【0019】
携帯端末装置40は、ユーザにより操作される。携帯端末装置40は、情報処理装置10から携帯端末要求情報TRIを取得する。携帯端末装置40は、取得した携帯端末要求情報TRIに含まれる変数値の候補を、ユーザに提示する。また、携帯端末装置40は、提示した変数値の候補のうち、いずれかがユーザにより選択されたことを検出する。携帯端末装置40は、選択された変数値の候補(以下、選択値とも記載する。)についての情報を、携帯端末応答情報TAIとして情報処理装置10に出力する。
なお、携帯端末装置40は、例えば、パーソナルコンピュータや、タブレット端末、スマートフォン等の一般に用いられるコンピュータであってもよい。
【0020】
情報処理装置10及び携帯端末装置40は、ロボット30の動作を制御する。したがって、以下の説明において、情報処理装置10と携帯端末装置40とを含む構成を、ロボット制御システム2と記載する場合がある。
【0021】
図2は、実施形態に係る情報処理装置の機能構成の一例を示す図である。同図を参照しながら、情報処理装置10の機能構成の一例について説明する。情報処理装置10は、記憶部15と、制御部16と、携帯端末通信部17と、ロボット通信部18とを備える。これらの各機能部は、例えば、電子回路を用いて実現される。また、これらの各機能部は、必要に応じて、半導体メモリや磁気ハードディスク装置などといった記憶手段を内部に備えてよい。また、各機能を、コンピュータおよびソフトウェアによって実現するようにしてもよい。情報処理装置10は、これらの各機能部を備えることにより、ラダープログラム14に記載された処理に基づいてロボットを制御する。
【0022】
記憶部15は、例えば、ハードディスクドライブ(HDD:Hard Disk Drive)、ソリッドステートドライブ(SSD:Solid State Drive)、フラッシュメモリ(Flash Memory)、ROM(Read Only Memory)等を含んで構成される。記憶部15は、ラダープログラム14を記憶する。
【0023】
制御部16は、記憶部15から、ラダープログラム14を読み出す。制御部16により記憶部15から読み出される情報をプログラム読込情報PLIと記載する。プログラム読込情報PLIには、ラダープログラム14の他、ロボット30及び携帯端末装置40との通信に用いられる情報等が含まれていてもよい。
【0024】
制御部16は、ラダープログラム14に記載された処理を実行する。制御部16は、ラダープログラム14の記載に基づき、携帯端末通信部17に対し携帯端末要求情報TRIを出力する。携帯端末要求情報TRIには、数値データを扱う変数名と、当該変数名に対応する数値の候補となる複数の候補値とが含まれる。すなわち、携帯端末要求情報TRIには、ユーザに提示する変数値の候補についての情報が含まれる。
また、制御部16は、ラダープログラム14に基づき、携帯端末通信部17から携帯端末応答情報TAIを取得する。携帯端末応答情報TAIには、携帯端末要求情報TRIに含まれる複数の候補値の中から選択された選択値と、変数名とが対応付けられた情報が含まれる。すなわち携帯端末応答情報TAIには、ユーザにより選択された変数値の候補についての情報が含まれる。
また、制御部16は、ラダープログラム14に基づき、ロボット通信部18に対しロボット制御情報RCIを出力する。ロボット制御情報RCIには、ロボット30が備える複数の入出力デバイス(不図示)を制御するための制御情報等が含まれる。
【0025】
携帯端末通信部17は、携帯端末装置40と所定の通信方式により通信を行う。所定の通信方式とは、ブルートゥース(登録商標)(Bluetooth)又はWi-Fi(登録商標)等であってもよい。携帯端末通信部17は、制御部16から携帯端末要求情報TRIを取得する。携帯端末通信部17は、制御部16からの指示に基づき、携帯端末要求情報TRIを携帯端末装置40に送信する。また、携帯端末通信部17は、携帯端末装置40から携帯端末応答情報TAIを受信する。携帯端末通信部17は、受信した携帯端末応答情報TAIを制御部16に提供する。
【0026】
ロボット通信部18は、ロボット30と所定の通信方式により通信を行う。所定の通信方式とは、ブルートゥース(登録商標)(Bluetooth)又はWi-Fi(登録商標)等であってもよい。ロボット通信部18は、制御部16からロボット制御情報RCIを取得する。ロボット通信部18は、制御部16からの指示に基づき、制御信号としてのロボット制御情報RCIをロボット30に出力する。
なお、ロボット通信部18は、ロボット30からの信号を取得する受信機能を有していてもよい、ロボット通信部18は、ロボット30から受信した情報を制御部16に出力する。
【0027】
図3は、実施形態に係る携帯端末装置の機能構成の一例を示す図である。同図を参照しながら、携帯端末装置40の機能構成の一例について説明する。携帯端末装置40は、取得部41と、提示部42と、操作受付部43と、出力部44と、携帯端末制御部45とを備える。これらの各機能部は、例えば、電子回路を用いて実現される。また、これらの各機能部は、必要に応じて、半導体メモリや磁気ハードディスク装置などといった記憶手段を内部に備えてよい。また、各機能を、コンピュータおよびソフトウェアによって実現するようにしてもよい。携帯端末装置40は、これらの各機能部を備えることにより、情報処理装置10から変数値の候補についての情報を取得し、取得した変数値の候補についての情報に基づきユーザが所望する変数値の候補についての情報を取得し、取得した情報を情報処理装置10に出力する。すなわち携帯端末装置40は、情報処理装置10からの指示に応じてユーザからの操作を取得する。
【0028】
取得部41は、情報処理装置10から送信された携帯端末要求情報TRIを取得する。携帯端末要求情報TRIには、変数を特定する情報と、当該変数に格納される変数値の候補とが含まれる。換言すれば、携帯端末要求情報TRIには、変数名と、当該変数名により特定される変数に対応する複数の候補値とが含まれる。取得部41は、取得した携帯端末要求情報TRIを携帯端末制御部45に出力する。
【0029】
携帯端末制御部45は、取得部41から携帯端末要求情報TRIを取得する。携帯端末制御部45は、取得した携帯端末要求情報TRIに含まれる複数の候補値を提示可能な形式に変換し、提示情報PIとして提示部42に出力する。提示可能な形式とは、画像形式や、音声形式等であってもよいし、その他の形式であってもよい。
【0030】
提示部42は、携帯端末制御部45から提示情報PIを取得する。提示部42は、取得した情報に基づき、複数の候補値をユーザに提示する。
ここで、提示部42は、携帯端末装置40に備えられた不図示の表示部に文字情報や画像情報を表示することにより、提示情報PIを視覚的に提示してもよい。表示部とは、例えば液晶ディスプレイ、有機EL(Electroluminescence)ディスプレイ等であってもよい。表示部は、提示部42に含まれていてもよい。
また、提示部42は、携帯端末装置40に備えられた不図示の音声出力部に音声情報を出力することにより、提示情報PIを聴覚的に提示してもよい。音声出力部とは、例えばスピーカー等であってもよい。音声出力部は、提示部42に含まれていてもよい。
なお、提示部42は、提示情報PIを視覚的及び聴覚的に、画像形式及び音声形式の両方により提示してもよい。
【0031】
操作受付部43は、ユーザからの入力操作を受け付ける。ユーザは、提示部42に提示された情報に基づいた操作を行う。提示部42に提示された情報に基づいた操作とは、例えば提示部42が不図示の表示部に文字情報や画像情報を表示する場合、不図示のマウス、キーボード、タッチパネル等の入力装置により所望の候補値が選択される操作であってもよい。この場合、操作受付部43は、表示部に表示された複数の候補値のうち、ユーザにより押下された候補値を選択値として特定する。ユーザにより押下されるとは、キーボードやマウス等の入力デバイスによりボタンの画面構成が選択される操作であってもよいし、液晶ディスプレイに表示されたボタンの画面構成を、タッチパネルを介してタッチ等される操作であってもよい。
【0032】
また、提示部42に提示された情報に基づいた操作とは、例えば提示部42が不図示の音声出力部に音声情報を出力する場合、不図示のマイク等の音声取得装置により所望の選択肢を特定する情報が入力される操作であってもよい。
【0033】
換言すれば、操作受付部43は、ユーザからの操作を受け付け、その操作とは、提示された複数の候補値の中から少なくとも1つの候補値を選択値として特定する操作である。操作受付部43は、取得した操作についての情報を操作情報OIとして携帯端末制御部45に出力する。
【0034】
なお、ユーザにより選択される選択値の数は1つに限定されず複数であってもよい。すなわち、操作受付部43は、選択された複数の候補値を選択値として特定してもよい。例えば、4つの候補値のうち1つを選択値として特定するよう構成することもできるし、5つの候補値のうち2つを選択値として特定するよう構成することもできる。この場合、携帯端末装置40に提示する候補値の数と、ユーザにより選択されるべき選択値の個数についての情報は、ラダープログラムLPにより設定され、携帯端末要求情報TRIに含まれていてもよい。ラダープログラムLPにより設定されるとは、ラダープログラムLPを作成した者がラダープログラムLPに記載することを含む。
【0035】
携帯端末制御部45は、操作受付部43から操作情報OIを取得する。携帯端末制御部45は、取得した操作情報OIに基づき、携帯端末要求情報TRIに含まれる変数の変数値として選択された選択値に関する情報を携帯端末応答情報TAIとして出力部44に出力する。携帯端末応答情報TAIには、操作受付部43が受け付けた操作により特定された候補値と変数名とが対応付けられる。
出力部44は、携帯端末制御部45から携帯端末応答情報TAIを取得する。出力部44は、取得した携帯端末応答情報TAIを情報処理装置10に出力する。
【0036】
図4は、実施形態に係るロボットの機能構成の一例を示す図である。同図を参照しながら、ロボット30の機能構成の一例について説明する。ロボット30は、記憶部31と、制御部32と、入力デバイス33と、出力デバイス34とを備える。
記憶部31は、RAM又はROMを少なくとも含んで構成される。記憶部31は、制御プログラム20を記憶する。記憶部31は、その他、ロボット30の制御に必要な情報等を記憶する。
制御部32は、CPUを少なくとも含んで構成される。制御部32は、ASIC(Application Specific Integrated Circuit)又はFPGA(Field-Programmable Gate Array)等のハードウェア資源を含んで構成されていてもよい。
【0037】
入力デバイス33は、ロボット30の外部環境から情報を取得し、取得した情報を制御部32に提供する。入力デバイス33は、ロボット30のアプリケーションに応じた複数のセンサやエンコーダ等を含む。入力デバイス33に含まれる要素としては、カメラ、位置センサ(GPSセンサ:Global Positioning System Sensor)、加速度センサ、光センサ、温度センサ、湿度センサ、磁気センサ、触覚センサ、超音波センサ等を例示することができる。ロボット30が自律的に移動し、物体を把持して移動させるサービスロボットである場合、入力デバイス33の一例としては、カメラ、位置センサ、触覚センサ等を例示することができる。
【0038】
出力デバイス34は、制御部32の制御に基づいて駆動される。出力デバイス34は、ロボット30のアプリケーションに応じた複数のモータ等を含む。出力デバイス34に含まれる要素としては、ステッピングモータ、DCモータ、ソレノイド、クラッチ、発光ダイオード(LED:Light-Emitting Diode)ディスプレイ等を例示することができる。ロボット30が自律的に移動し、物体を把持して移動させるサービスロボットである場合、出力デバイス34の一例としては、車輪駆動用モータ、アーム駆動用モータ、状態表示用LED等を例示することができる。
【0039】
図5は、実施形態に係るラダープログラムの一例を示す図である。同図を参照しながら、ラダープログラムLPの一例について説明する。同図に示すラダープログラムLPは、ユーザにより編集が行われている途中の一例である。同図に示すラダープログラムLPには、要素E21乃至要素E26が含まれる。要素E21乃至要素E26は、それぞれユーザがダブルクリックすることにより、ロボットに実行させたい処理を入力することができる。ロボットに実行させたい処理はプラグイン化されており、予め用意されていてもよい。ユーザは、各要素をダブルクリックすることにより、変数の候補として表示される複数のプラグインのうちいずれかのプラグインを選択する。各プラグインは、C++等のプログラミング言語によりコーディングすることができ、ユーザによって自作されたプラグインが追加されてもよい。
【0040】
同図に示すラダープログラムLPのうち、要素E21は、“SW”という名称のプラグインが配置されている。要素E22は、“SendTask”という名称のプラグインが配置されている。要素E23乃至要素E26には、“task_sw_1”乃至“task_sw_4”という名称のプラグインが配置されている。
【0041】
ラダープログラムLPに含まれる複数の要素のうち、特に“SendTask”のプラグインについて説明する。“SendTask”は、携帯端末装置40に変数の候補値を送信し、送信された複数の候補値のうち、ユーザが所望する候補値を選択値として取得するタスクである。“SendTask”の処理の設定の詳細について、
図6を参照しながら説明する。
【0042】
図6は、実施形態に係るブロック呼び出し画面の一例を示す図である。同図は、ブロック呼び出し画面D10の一例を示す。同図に示すブロック呼び出し画面D10は、
図5における要素E22に対する所定の操作が行われることにより表示される表示画面の一例である。所定の操作とは、例えばマウスによるダブルクリック等の操作であってもよい。ブロック呼び出し画面D10は、要素E31と、要素E32と、要素E33とを画面の構成要素として備える。
【0043】
要素E31には、対象となるブロック(プラグイン)の概要が記載される。
要素E32には、対象となるブロックの変数名が記載される。同図に示す一例では、変数名が“SendTask”であることが示されている。すなわち、本ブロックでは、変数名が“SendTask”である変数の変数値の候補を携帯端末装置40に送信し、ユーザにいずれかの候補を選択させる。
要素E33は、入力パラメータタブ及び出力パラメータタブを有する。ユーザは、入力パラメータタブ及び出力パラメータタブのいずれかを選択することにより、入力パラメータ又は出力パラメータの設定を行うことができる。入力パラメータの設定とは、対象となるブロックに入力されるパラメータについての設定であり、出力パラメータの設定とは、対象となるブロックから出力されるパラメータについての設定である。
【0044】
“send_number_int”には、携帯端末装置40に出力したい候補の数に3を加算した数が入力される。図示する一例では“7”が入力されているため、情報処理装置10は、携帯端末装置40に対して7-3=4個の候補値を出力する。
【0045】
“use_sound”は、情報処理装置10から携帯端末装置40に携帯端末要求情報TRIが送信された場合であって、携帯端末装置40に候補が提示された場合、音声による通知を行うか否かの設定である。当該通知は、提示部42により行われてもよい。また、当該通知は、単に提示が行われたことの表示であってもよいし、候補値を音声により読み上げることであってもよい。図示する一例では“1”が入力されていないため、携帯端末装置40は、音声による通知を行わない。
【0046】
“title”は、当該ブロックのタイトルであって、携帯端末装置40に表示させる文言が記載される。図示する一例では“Android連携”が入力されているため、例えば携帯端末装置40の表示部のタイトル表示部分には“Android連携”と表示される。
【0047】
“task_title1”乃至“task_title8”は、それぞれ携帯端末装置40に提示される候補値を示す。図示する一例では“send_number_int”が“7”であり、携帯端末装置40に対して出力される候補値は4つであるため、“task_title1”乃至“task_title4”が有効である。
“task_title1”には“スイッチ1”が入力され、“task_title2”には“スイッチ2”が入力され、“task_title3”には“スイッチ3”が入力され、“task_title4”には“スイッチ4”が入力されている。したがって、携帯端末装置40には、候補値として“スイッチ1”、“スイッチ2”、“スイッチ3”及び“スイッチ4”が提示される。
【0048】
図7は、実施形態に係る携帯端末装置の表示部に表示される画面構成の一例について説明するための図である。同図を参照しながら携帯端末装置40により提示される情報の一例について説明する。同図には、提示部42が文字又は画像の表示により、変数の候補を提示する場合の一例を示す。提示部42Aは、提示部42の一例であり、携帯端末装置40に備えられた表示部である。提示部42Aは、符号421と、符号422と、符号423と、符号424とを画面の構成要素として有する。
【0049】
符号421は、符号4211と、符号4212と、符号4213と、符号4214とを画面の構成要素として備える。符号4211乃至符号4214は、それぞれ携帯端末要求情報TRIに含まれる候補値を示す。具体的には、符号4211乃至符号4214には、
図6を参照しながら説明したブロック呼び出し画面D10の、“task_title1”乃至“task_title4”に入力された値が示される。図示する一例では、符号4211には“スイッチ1”と、符号4212には“スイッチ2”と、符号4213には“スイッチ3”と、符号4214には“スイッチ4”と示されている。
【0050】
符号422は、“PAUSE”ボタンである。“PAUSE”ボタンとは、すなわち処理を一時停止するための一時停止ボタンである。ユーザにより“PAUSE”ボタンが押下されると、情報処理装置10で実行されている処理が一時停止される。なお、操作受付部43は、“PAUSE”ボタンが押下されたことを検知した場合、情報処理装置10にその旨を通知してもよい。
【0051】
符号423は、情報処理装置10に処理を緊急停止させるための緊急停止ボタンである。図示する一例において、符号423はスライダーである。符号423は、画面構成として符号4231を有する。符号4231が横方向(図示する一例では右方向)にスライドされると、情報処理装置10は処理を緊急停止する。なお、操作受付部43は、ユーザにより“符号4231が横方向にスライドされたことを検知した場合、情報処理装置10に優先的にその旨を通知してもよい。優先的に通知とは、例えば優先度の高い割り込み処理等であってもよい。
【0052】
符号424は、現在提示部42Aに表示されているタスクのタイトルを表示する。具体的には、符号424には、
図6を参照しながら説明したブロック呼び出し画面D10の、“title”に入力された値が示される。図示する一例では、符号424には“Android連携”と示されている。
【0053】
図8は、実施形態に係るロボット制御システムの一連の動作の一例を示すシーケンス図である。同図を参照しながら、ロボット制御システム2の一連の動作の一例について説明する。
【0054】
(ステップS110)まず、情報処理装置10は記憶部15に記憶されたラダープログラム14を実行し、処理を開始する。情報処理装置10により、ラダープログラム14に記載された処理が実行される工程を、制御工程とも記載する。
(ステップS120)次に、情報処理装置10は、ラダープログラム14に記載された処理に基づき、ロボット制御情報RCIをロボット30に出力することで、ロボット30を制御する。ロボット30は、情報処理装置10の指示に基づいた処理を行う。
(ステップS130)次に、受変電設備10は、ラダープログラム14の処理の中で、携帯端末装置40への要求および応答を要するブロック(例えば、
図5及び
図5を参照しながら説明した“SendTask”ブロック等)が呼び出されると、以下のステップS140以降の処理を行う。
【0055】
(ステップS140)まず、情報処理装置10は、ラダープログラムLPの記載に基づき、変数名と複数の候補値とを携帯端末装置40に出力する。
(ステップS150)次に、携帯端末装置40は、情報処理装置10から出力された変数名と複数の候補値のうち、複数の候補値をユーザに提示する。当該工程を提示工程とも記載する。提示工程は、上述した制御工程による指示に基づいて行われる。
(ステップS160)ユーザは、提示された候補値のうちいずれかを選択する。携帯端末装置40は、選択された候補を特定する。すなわち、携帯端末装置40は、提示した候補値のうち、少なくとも1つの候補値を選択値として特定する操作を受け付ける。ユーザからの操作を受け付ける工程を、操作受付工程とも記載する。
(ステップS170)次に、携帯端末装置40は、取得した操作に基づいて特定される選択値を、情報処理装置10から取得された変数名と対応付けて情報処理装置10に出力する。
【0056】
(ステップS180)情報処理装置10は、携帯端末装置40から、選択された候補値(すなわちユーザにより選択された選択値)についての情報を取得する。情報処理装置10は、取得した選択値に基づいた処理を行う。
(ステップS190)情報処理装置10は、選択値に基づいた制御信号をロボット30に出力し、ロボット30を制御する。具体的には、ユーザにより選択値として特定された操作に応じた指示(すなわち、制御工程による指示)に基づき、制御信号をロボット30に出力する。当該工程をロボット通信工程とも記載する。
なお、上述したロボット制御システム2の一連の動作の一例は、ロボット30の制御方法の一例であり、本実施形態を限定するものではない。例えば各ステップの間に、図示しないステップ等が行われてもよい。
【0057】
図9は、実施形態に係る携帯端末装置の表示部に表示される画面構成の変形例について説明するための図である。同図を参照しながら、提示部42Aに表示される画面構成の変形例について説明する。同図に示す変形例では、ユーザによる選択が2段階で行われる。具体的には、まずサービスロボットであるロボット30に行わせる処理を特定し、次に特定した処理の具体的な内容について特定する。図示する一例についてより具体的に説明すると、ユーザがまずロボット30に飲み物の運搬をさせる処理を選択し、次に運搬させる飲み物の種類を特定する。
図9(A)は、提示部42Aに表示される画面構成の第1の例について示す図であり、
図9(B)は、提示部42Aに表示される画面構成の第2の例について示す図である。
【0058】
まず、
図9(A)を参照しながらタスクの選択について説明する。図示する一例では、ロボット30は、掃除、飲み物の運搬、空調の温度設定、及び電気の消灯を含むタスクを処理可能であるとして説明する。
情報処理装置10は、ロボット30が処理可能なタスクについて携帯端末装置40に送信する。タスクの選択のために行う送信を第1回目の送信とも記載する。具体的には、第1回目の送信として、情報処理装置10が備える携帯端末通信部17は、制御部16からの指示に基づき、変数名と変数名に対応する複数の候補値とを送信する。携帯端末装置40は、第1回目の送信を受信すると、受信した情報に含まれる候補値を提示部42Aに提示する。図示する一例では、携帯端末装置40の提示部42Aに候補値として、符号4211に“掃除をしてほしい”、符号4212に“飲み物を持ってきてほしい”、符号4213に“空調の温度を変えてほしい”、符号4214に“電気を消してほしい”、との文言が記載されている。携帯端末装置40は、これらの候補値を表示し、ユーザからの選択を促すことにより、ユーザが所望する処理についての情報を取得する。
【0059】
この一例において、ユーザはロボット30に飲み物を運ぶ処理を行わせたい。したがって、ユーザは、符号4212の“飲み物を持ってきてほしい”を選択する。すなわち、携帯端末装置40は、第1回目の送信において送信された複数の候補値の中から少なくとも1つの候補値を選択値として特定する。携帯端末装置40は、特定した選択値についての情報を情報処理装置10に出力する。第1回目の送信に対応する応答を、第1回目の応答とも記載する。
【0060】
情報処理装置10は、第1回目の応答を受信すると、第1回目の応答に応じた送信を行う。すなわち、情報処理装置10は、第1回目の応答に応じた送信を行うことにより、飲み物の運搬というタスクの詳細についての情報をユーザから取得する。第1回目の応答に応じた送信を、第2回目の送信とも記載する。第2回目の送信には、第1回目の応答に応じて選択された複数の候補値が含まれる。携帯端末通信部17は、制御部16からの指示に基づき、第2回目の送信を行う。
【0061】
図9(B)には、第2回目の送信の結果、提示部42Aに提示される情報の一例を示す。情報処理装置10は、飲み物の運搬というタスクの詳細として、何の飲みものを運搬するかについての情報を取得するための情報を送信する。この場合、情報処理装置10から送信される候補値には、飲み物の種類が含まれる。図示する一例では、符号4211に“フルーツジュース”、符号4212に“炭酸飲料”、符号4213に“冷たいお茶”、符号4214に“温かいお茶”、との文言が記載されている。ユーザは、提示された飲みもののうち少なくともいずれか1つを特定することにより、ロボット30に運搬させる飲み物を選択する。
【0062】
携帯端末装置40は、第2回目の送信において送信された複数の候補値の中から少なくとも1つの候補値を選択値として特定する。携帯端末装置40は、特定した選択値についての情報を情報処理装置10に出力する。第2回目の送信に対応する応答を、第2回目の応答とも記載する。
情報処理装置10は、第2回目の応答を受信すると、第2回目の応答に応じた処理を行う。例えばこの一例において、情報処理装置10は、選択された飲み物をユーザに運搬するようロボット30に命令をする。飲み物の運搬は、例えばロボット30が冷蔵庫に向かい、冷蔵庫の扉を開け、冷蔵庫の中に格納された物体を認識し、認識した物体のうちユーザにより選択された飲み物を特定し、特定した飲み物を把持し、把持した飲み物を取り出し、冷蔵庫の扉を閉め、取り出した飲み物をユーザに運搬することであってもよい。当該処理の少なくとも一部は、ラダープログラムにより記載されてもよい。
【0063】
[実施形態のまとめ]
以上説明した実施形態によれば、ロボット制御システム2は、ラダープログラム14に記載された処理に基づいてロボット30を制御する情報処理装置10と、情報処理装置10からの指示に応じてユーザからの操作を取得する携帯端末装置40とを備える。情報処理装置10は、制御部16を備えることによりラダープログラム14に記載された処理を実行し、携帯端末通信部17を備えることにより制御部16からの指示に基づき変数名と変数名に対応する複数の候補値とを送信し複数の候補値の中から選択された選択値と変数名とが対応付けられた情報を受信し、ロボット通信部18を備えることにより制御部16からの指示に基づき制御信号をロボット30に出力する。また、携帯端末装置40は、取得部41を備えることにより情報処理装置10から送信された変数名と変数名により特定される変数に対応する複数の候補値を取得し、提示部42を備えることにより取得した情報に基づき複数の候補値をユーザに提示し、操作受付部43を備えることにより提示された複数の候補値の中から少なくとも1つの候補値を選択値として特定する操作を受け付け、出力部44を備えることにより特定された候補値と変数名とが対応付けられた情報を出力する。すなわち、本実施形態によれば、情報処理装置10においてラダープログラム14を実行している最中に、携帯端末装置40と通信することにより、任意のタイミングでラダープログラム14側から外部端末へ介入することができる。また、情報処理装置10は、複数の候補値のうち少なくとも1つをユーザに選択させることにより、ON/OFF以外であっても、変数値を任意の値に書き換えることができる。また、ユーザは、携帯端末装置40の表示を見て容易に候補値を確認することができるため、変数を書き換える際に変数のアドレスや当該変数値がラダープログラム内でどのように使用されているかといった情報を予め理解することを要しない。したがって、本実施形態に係るロボット制御システム2によれば、ラダープログラム14内の変数値を外部から容易に書き換えることができる。
【0064】
また、本実施形態によれば、操作受付部43は、選択された複数の候補値を選択値として特定し、操作受付部43により特定される候補値の数及び選択値の数は、前記ラダープログラムにより設定される。すなわち、本実施形態によれば、候補値の数と選択値の数を、ラダープログラム14の設計者が任意に設定することができる。したがって、選択値や候補値の数に変更があった場合であってもハードウェア(例えば物理的な接点スイッチ等)を増設することを要しない。
【0065】
また、本実施形態に係る情報処理装置10が備える携帯端末通信部17は、制御部16からの指示に基づき第1回目の送信をすることにより、変数名と変数名に対応する複数の候補値とを携帯端末装置40に送信する。携帯端末装置40は、第1回目の送信に対応する第1回目の応答を行うことにより、第1回目の送信において送信された複数の候補値の中から少なくとも1つの候補値を選択値として特定する。また、携帯端末通信部17は、第1回目の応答を受信すると、制御部16からの指示に基づき第2回目の送信を行うことにより、第1回目の応答に応じて選択された複数の候補値を携帯端末装置40に送信する。第1回目の送信とは、ロボット30に行わせるタスクをユーザに選択させるための送信であってもよい。第2回目の送信とは、選択されたタスクにおける詳細をユーザに選択させるための送信であってもよい。換言すれば、1回目に行われたユーザの選択により、2回目に携帯端末装置40に表示される候補が変わる。したがって、本実施形態によれば、よりユーザの意に沿ってロボット30を制御することができるようになる。また、本実施形態によれば、ユーザが様々な選択を行うことができるようになるため、ロボット30に複雑な制御を行わせることができるようになる。
【0066】
また、本実施形態に係る携帯端末装置40によれば、提示部42は、携帯端末装置40に備えられる表示部に複数の候補値を表示することにより変数の候補を提示し、操作受付部43は、表示部に表示された複数の候補値のうち、押下された候補値を選択値として特定する。したがって、本実施形態によれば、ユーザは容易に候補値を認識することができ、当該候補値のうち所望の候補値を容易に選択することができる。
【0067】
なお、上述した実施形態におけるロボットシステム1及びロボット制御システム2が備える各部の機能全体あるいはその一部は、これらの機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現しても良い。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
【0068】
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶部のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバーやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでも良い。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【0069】
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。また、本発明はこうした実施形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【符号の説明】
【0070】
1…ロボットシステム、2…ロボット制御システム、10…情報処理装置、14…ラダープログラム、15…記憶部、16…制御部、17…携帯端末通信部、18…ロボット通信部、20…制御プログラム、30…ロボット、31…記憶部、32…制御部、33…入力デバイス、34…出力デバイス、40…携帯端末装置、41…取得部、42…提示部、43…操作受付部、44…出力部、45…携帯端末制御部、RCI…ロボット制御情報、TRI…携帯端末要求情報、TAI…携帯端末応答情報、PLI…プログラム読込情報、PI…提示情報、OI…操作情報、LP…ラダープログラム、D10…ブロック呼び出し画面