JP2017047519A - Cloud robotics system, information processor, program, and method for controlling or supporting robot in cloud robotics system - Google Patents

Cloud robotics system, information processor, program, and method for controlling or supporting robot in cloud robotics system Download PDF

Info

Publication number
JP2017047519A
JP2017047519A JP2015174744A JP2015174744A JP2017047519A JP 2017047519 A JP2017047519 A JP 2017047519A JP 2015174744 A JP2015174744 A JP 2015174744A JP 2015174744 A JP2015174744 A JP 2015174744A JP 2017047519 A JP2017047519 A JP 2017047519A
Authority
JP
Japan
Prior art keywords
robot
task
cloud platform
rescue
cloud
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
JP2015174744A
Other languages
Japanese (ja)
Inventor
モーハナラージャー ガジャモーハン
Mohanarajah Gajan
モーハナラージャー ガジャモーハン
クリシナムルティ アルドチェルワン
Arudchelvan Krishnamoorthy
クリシナムルティ アルドチェルワン
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.)
Rapyuta Robotics
Rapyuta Robotics Co Ltd
Original Assignee
Rapyuta Robotics
Rapyuta Robotics Co Ltd
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 Rapyuta Robotics, Rapyuta Robotics Co Ltd filed Critical Rapyuta Robotics
Priority to JP2015174744A priority Critical patent/JP2017047519A/en
Publication of JP2017047519A publication Critical patent/JP2017047519A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To provide an improved cloud robotics system.SOLUTION: A cloud robotics system comprising a cloud platform and a robot, in which the cloud platform and the robot respectively execute a service module having a common interface for executing a task. The common interface has a request for requesting execution of at least the task and a feedback for reporting about a state of execution of the task, and each service module has a working routine for executing the task, a failure detection sub-routine for detecting whether execution of the task is failed or not, and a rescue request routine for requesting the exterior for rescue.SELECTED DRAWING: Figure 1

Description

本発明は、広く自律作動ないし自律移動するロボットを制御または支援するシステムに関し、より具体的には、自律作動ないし自律移動するロボットと、これらロボットを制御または支援するクラウドサーバ群(以下、「クラウドプラットフォーム」という。)と、かかるクラウドプラットフォームに接続可能な情報処理装置とを含むクラウドロボティクスシステムに関する。   The present invention relates to a system for controlling or supporting a robot that autonomously operates or moves autonomously, and more specifically, a robot that autonomously operates or moves autonomously, and a cloud server group that controls or supports these robots (hereinafter referred to as “cloud”). And a cloud robotics system including an information processing apparatus that can be connected to the cloud platform.

従来、一般家庭や様々な施設において、自律して作業したり移動したりするロボット(以下、「自律ロボット」、あるいは、単に「ロボット」という。)によるサービスを提供するための技術が提案されてきた。これらのロボットは、ユーザから直接要求を受けたり、ネットワークを介してロボットが接続している遠隔サーバからタスクを受けたりすることにより、その任務を果たすべく作業ないし移動を行う。
かかる遠隔サーバとロボットとの間の通信方法や、遠隔サーバによるロボットの制御方法については、様々な提案がなされている。
2. Description of the Related Art Conventionally, techniques for providing services by robots that autonomously work or move (hereinafter referred to as “autonomous robots” or simply “robots”) in ordinary homes and various facilities have been proposed. It was. These robots work or move to fulfill their duties by receiving a request directly from a user or receiving a task from a remote server to which the robot is connected via a network.
Various proposals have been made for a communication method between the remote server and the robot and a method of controlling the robot by the remote server.

例えば、サーバからのタスク実行依頼に基づきロボットがタスクを実行する際、サーバとロボットとの間の通信を良好に行い、確実かつ円滑にタスクの実行処理を行わせる技術が提案されている(特許文献1)。   For example, a technique has been proposed in which when a robot executes a task based on a task execution request from a server, communication between the server and the robot is performed satisfactorily and task execution processing is performed reliably and smoothly (patent) Reference 1).

すわなち、特許文献1には、通信機能を有するロボットと、通信ネットワークを介して前記ロボットにタスク実行要求を行なうサーバとがデータ通信を行なう通信方法において、前記サーバから前記ロボットへ伝送された要求タスク情報に対して、前記ロボットが、前記要求タスク情報に対する実行可否情報を含む見積り情報を前記サーバに送信することを特徴とする通信方法が開示されている。   That is, in Patent Document 1, a communication method in which a robot having a communication function and a server that makes a task execution request to the robot via a communication network perform data communication is transmitted from the server to the robot. A communication method is disclosed in which, with respect to request task information, the robot transmits estimate information including execution availability information for the request task information to the server.

また、クラウド・コンピューティング・プラットフォームを利用して、計算、記憶、協同するロボット(クラウドロボット)システムも提案されている(特許文献2)。   In addition, a robot (cloud robot) system that uses a cloud computing platform to calculate, store, and cooperate has been proposed (Patent Document 2).

すなわち、特許文献2には、クラウド・コンピューティング・プラットフォームおよび少なくとも一台のロボットを含むクラウドロボットシステムであって、前記クラウド・コンピューティング・プラットフォームは、前記システムにおける少なくとも一台の前記ロボットにより送信される、前記一台のロボットに関するデータ、ステータスおよびリクエストを含む作業情報を受信し、前記データおよび前記ステータスの作業情報を処理して前記ロボットに処理結果を返信し、前記リクエストに応じて対応するロボットに制御命令を送信し、前記ロボットは、自身の前記作業情報を前記クラウド・コンピューティング・プラットフォームに送信し、前記クラウド・コンピューティング・プラットフォームにより処理された前記作業情報の処理結果を受信し、前記クラウド・コンピューティング・プラットフォームにより送信される前記制御命令に応じて自身の動作を行う、ことを特徴とするクラウドロボットシステムが開示されている。   That is, Patent Document 2 discloses a cloud robot system including a cloud computing platform and at least one robot, and the cloud computing platform is transmitted by at least one robot in the system. Receiving work information including data, status and request regarding the one robot, processing the data and status work information, returning a processing result to the robot, and responding to the request. The robot sends its work information to the cloud computing platform and processes the work information processed by the cloud computing platform. It receives the results, performs its operation according to the control command transmitted, cloud robot system, characterized in that disclosed by the cloud computing platform.

また、一方のロボットが得た知識を他方のロボットが有効に利用してタスクを効率よく実行するための共有されたロボット知識ベースを備えたクラウド・コンピューティング・システムも提案もなされている(特許文献3)。   In addition, a cloud computing system having a shared robot knowledge base for efficiently executing tasks by effectively using the knowledge obtained by one robot has been proposed (patent) Reference 3).

すなわち、特許文献3には、共有されたロボット知識ベースを備えたクラウド・コンピューティング・システムであって、ロボットが遭遇した物体に関するデータを前記ロボットから収集して、その収集データを共有されたロボット知識ベースに蓄積し、あるいは、ロボットに対して物体との触れ合いを指示し、前記ロボットと物体との触れ合いに基づくフィードバックを前記ロボットから受信してそのフィードバックに基づき共有されたロボット知識ベースを更新し、あるいは、その共有された知識ベースに蓄積された情報に基づいてアプリケーションの実行をロボットに指示するシステムが開示されている。   That is, Patent Document 3 discloses a cloud computing system having a shared robot knowledge base that collects data related to an object encountered by the robot from the robot and shares the collected data. Accumulating in the knowledge base or instructing the robot to touch the object, receiving feedback based on the contact between the robot and the object from the robot, and updating the shared robot knowledge base based on the feedback Alternatively, a system for instructing a robot to execute an application based on information stored in the shared knowledge base is disclosed.

特開2006−007341号公報JP 2006-007341 A 特表2013−536095号公報Special table 2013-536095 gazette 米国特許第8639644号明細書US Pat. No. 8,639,644

しかしながら、従来のクラウド・コンピューティングを前提としたロボット制御ないし支援は、知識ベースとなるデータベースをどのように構築するのかについて、さほど具体的には開示されていない。特に、クラウドプラットフォームやクラウド・コンピューティング環境が、現時点で知識ベースを参照してもロボットからの要求に応えられない場合の対処については、更なる改善が期待される。   However, the conventional robot control or support based on cloud computing has not been disclosed in detail as to how to construct a knowledge base database. In particular, further improvement is expected in the case where the cloud platform or the cloud computing environment cannot respond to the request from the robot even if the knowledge base is currently referred to.

そこで、本発明の一実施形態にかかるクラウドロボティクスシステムは、クラウドプラットフォームとロボットとを備えるクラウドロボティクスシステムであって、前記クラウドプラットフォーム及び前記ロボットは、それぞれ、タスクを実行するための共通のインタフェースを有するサービスモジュールを実行するものであり、前記共通のインタフェースは、少なくともタスクの実行を依頼するためのリクエストと、前記タスクの実行の状況を報告するためのフィードバックとを有し、前記サービスモジュールのそれぞれは、少なくとも、前記タスクを実行するためのワーキングルーチンと、前記タスクの実行が失敗したかどうかを検出するための失敗検出サブルーチンとを有することを特徴とする。   Therefore, a cloud robotics system according to an embodiment of the present invention is a cloud robotics system including a cloud platform and a robot, and each of the cloud platform and the robot has a common interface for executing a task. The service module is executed, and the common interface includes at least a request for requesting execution of a task and feedback for reporting a status of execution of the task, and each of the service modules includes At least a working routine for executing the task and a failure detection subroutine for detecting whether or not the execution of the task has failed.

また、前記システムは、ユーザ端末をさらに備えるとともに、前記サービスモジュールは、外部に救助を要請するための救助要請ルーチンをさらに備え、前記失敗検出サブルーチンが前記タスクの実行が失敗したことを検出した場合に、前記救助要請ルーチンにより前記ユーザ端末へ救助を要請する
ことを特徴とする。
The system further includes a user terminal, and the service module further includes a rescue request routine for requesting rescue to the outside, and the failure detection subroutine detects that the execution of the task has failed In addition, the rescue request routine may request rescue to the user terminal.

本発明の一実施形態にかかるクラウドロボティクスシステム等によれば、クラウドプラットフォームやクラウド・コンピューティング環境が、現時点での知識ベースを参照してもロボットからの要求に応えられない場合であっても良好に解決へと導くことができるという効果を奏する。   According to a cloud robotics system or the like according to an embodiment of the present invention, even if a cloud platform or a cloud computing environment cannot respond to a request from a robot even if a current knowledge base is referred to There is an effect that it can lead to a solution.

本発明の一実施形態にかかるロボット、情報処理装置、クラウドプラットフォームを含むクラウドロボティクスシステムの全体構成例を説明する説明図である。It is explanatory drawing explaining the example of whole structure of the cloud robotics system containing the robot, information processing apparatus, and cloud platform concerning one Embodiment of this invention. 本発明の一実施形態にかかるクラウドロボティクスシステムにおけるロボットのバリエーション例を説明する説明図である。It is explanatory drawing explaining the example of a variation of the robot in the cloud robotics system concerning one Embodiment of this invention. 本発明の一実施形態にかかるロボットを構成するハードウェアの機能ブロックを説明する説明図である。It is explanatory drawing explaining the functional block of the hardware which comprises the robot concerning one Embodiment of this invention. 本発明の一実施形態にかかるクラウドロボティクスシステムにおける情報処理装置の外観構成例を説明する説明図である。It is explanatory drawing explaining the example of an external appearance structure of the information processing apparatus in the cloud robotics system concerning one Embodiment of this invention. 本発明の一実施形態にかかる情報処理装置を構成するハードウェアの機能ブロックを説明する説明図である。It is explanatory drawing explaining the functional block of the hardware which comprises the information processing apparatus concerning one Embodiment of this invention. 本発明の一実施形態にかかるクラウドプラットフォームの詳細な機能ブロック構成を説明する説明図である。It is explanatory drawing explaining the detailed functional block structure of the cloud platform concerning one Embodiment of this invention. 本発明の一実施形態にかかるクラウドロボティクスシステムにおける処理ルーチン(処理サービスの構成要素)の基本概念を説明する説明図である。It is explanatory drawing explaining the basic concept of the processing routine (component of a processing service) in the cloud robotics system concerning one Embodiment of this invention. 本発明の一実施形態にかかるクラウドロボティクスシステムにおける処理ルーチン(処理サービスの構成要素)を説明する説明図である。It is explanatory drawing explaining the processing routine (component of a processing service) in the cloud robotics system concerning one Embodiment of this invention. 本発明の一実施形態にかかるクラウドロボティックスシステムの動作概念を説明する説明図である。It is explanatory drawing explaining the operation | movement concept of the cloud robotics system concerning one Embodiment of this invention. 本発明の一実施形態にかかるクラウドロボティクスシステムのアプリケーション例を説明する説明図である。It is explanatory drawing explaining the example of an application of the cloud robotics system concerning one Embodiment of this invention. 本発明の他の実施形態にかかるクラウドロボティクスシステムのアプリケーション例を説明する説明図である。It is explanatory drawing explaining the example of an application of the cloud robotics system concerning other embodiment of this invention. 本発明の他の実施形態にかかるクラウドロボティクスシステムのアプリケーション例を説明する説明図である。It is explanatory drawing explaining the example of an application of the cloud robotics system concerning other embodiment of this invention. 本発明のさらに他の実施形態にかかるクラウドロボティクスシステムのアプリケーション例を説明する説明図である。It is explanatory drawing explaining the example of an application of the cloud robotics system concerning further another embodiment of this invention. 本発明のさらに他の実施形態にかかるクラウドロボティクスシステムのアプリケーション例を説明する説明図である。It is explanatory drawing explaining the example of an application of the cloud robotics system concerning further another embodiment of this invention.

(はじめに)
本発明は、クラウド・コンピューティングを前提としたロボット制御システムないし支援システムの中でも、特に、ロボットに対して高いスペックを必要としないシステムの実現を目的としている。例えば、ロボットに数々の高価なセンサを搭載すれば、当然に、高機能のロボットを実現できる(例えば、ロボットに3000ドルのレーザセンサを搭載すれば、後述する太陽光による悪い影響を受けないで済む)。しかし、高機能だが高価なロボットは誰もが気軽に入手できるものではない。また、ロボットの高機能化を進めていったとしても、その性能を向上させるためのコストは、指数関数的に増大する(例えば、人間の能力を100%として、ロボットの機能をゼロから90%まで高めるためのコストよりも、90%から95%まで高めるためのコストのほうがずっと大きいということがあり得る)。
(Introduction)
An object of the present invention is to realize a system that does not require high specifications for a robot, among robot control systems or support systems based on cloud computing. For example, if a lot of expensive sensors are mounted on the robot, it is natural that a high-performance robot can be realized (for example, if a $ 3,000 laser sensor is mounted on the robot, it will not be adversely affected by sunlight described later. That's it) However, not all high-performance but expensive robots are readily available. In addition, even if the robot has advanced functions, the cost for improving its performance increases exponentially (for example, the human ability is assumed to be 100%, and the robot function is improved from zero to 90%. The cost to increase from 90% to 95% may be much higher than the cost to increase

そこで、クラウドプラットフォームにおける処理に重点をおき、ロボットは低コストで実現する方向で、ロボットコンピューティング環境を実現することは得策と言えるが、残りの10%をどう埋め合わせするかが次の問題となる。この問題に対しては、ロボットの動作や作業におけるトラブルに対し、クラウドプラットフォームの知識や他のユーザ(人間)の知識をうまく利用することがひとつの鍵となると、発明者は考えている。
特に、人間の知識は、現在のロボットとは異なり高度に集約されているので、人間ならば一目見ただけで(クラウドプラットフォームでは膨大な演算量を必要とする場合でも)、適切な対処方法を得られる場合も多い。
さらに、かかる人間の知識をロボットの将来の動作や作業に活かすことができれば、一層有益なクラウドロボティクスシステムを提供することができる。本発明は、かかる観点から発明者により創意工夫されたものである。
Therefore, while emphasizing the processing in the cloud platform, it can be said that it is a good idea to realize a robot computing environment in the direction of realizing robots at low cost, but how to make up the remaining 10% is the next problem. . The inventor believes that the key to this problem is to effectively use the knowledge of the cloud platform and the knowledge of other users (humans) for troubles in robot operations and operations.
In particular, human knowledge is highly concentrated unlike current robots, so if you are a human being, you can take appropriate measures at a glance (even if the cloud platform requires a large amount of computation). Often obtained.
Furthermore, if such human knowledge can be utilized in the future operation and work of the robot, a more useful cloud robotics system can be provided. The present invention has been devised by the inventor from such a viewpoint.

以下、本発明の一実施形態にかかるクラウドロボティクスシステム等について、図面を参照しながら詳細に説明する。   Hereinafter, a cloud robotics system and the like according to an embodiment of the present invention will be described in detail with reference to the drawings.

図1に、本発明の一実施形態にかかるクラウドロボティクスシステムの全体構成例を示す。   FIG. 1 shows an example of the overall configuration of a cloud robotics system according to an embodiment of the present invention.

図1に示されるように、クラウドロボティクスシステム10は、その一実施形態における構成として、クラウドプラットフォーム11と、ユーザが使用する各種情報処理装置(図において、例示的に、携帯情報端末ないしタブレット端末12、携帯電話13、PC14が示されている。以下、総称して「端末」とも言うこともある)と、ロボット201a〜201eとで構成されている。クラウドプラットフォーム11、各種端末、及びロボット間は、図1に示されるように専用回線やインターネット等の公衆回線(有線の回線として、37〜39)で相互に通信可能に接続されている。また、回線は有線であっても無線であってもよく、無線の場合、携帯電話13及び携帯情報端末ないしタブレット端末12は、無線で図示しない基地局やアクセスポイント等を介してインターネット39に乗り入れ、更に回線38を介してクラウドプラットフォーム11と相互に通信可能に接続される。   As shown in FIG. 1, the cloud robotics system 10 includes a cloud platform 11 and various information processing apparatuses used by a user (exemplarily portable information terminals or tablet terminals 12 in the figure). , A mobile phone 13 and a PC 14. Hereinafter, the mobile phone 13 and the PC 14 may be collectively referred to as “terminals”) and robots 201a to 201e. As shown in FIG. 1, the cloud platform 11, various terminals, and the robot are connected to each other via a public line (wired line 37 to 39) such as a dedicated line or the Internet. Further, the line may be wired or wireless, and in the case of wireless, the mobile phone 13 and the portable information terminal or tablet terminal 12 enter the Internet 39 via a base station, an access point, etc. not shown wirelessly. Further, they are connected to the cloud platform 11 via the line 38 so as to be able to communicate with each other.

また、ロボット201a〜201eがドローンのような飛行型ロボットである場合には、図1に示されるような無線基地局ないしアクセスポイント41、42等を介してインターネット39に接続される。つまり、ロボット201a〜201eもインターネット39を介して、クラウドプラットフォーム11や各種端末との相互通信が可能に構成されている。
ここで、アクセスポイントとは、PCやスマートフォンなどの無線端末を相互に接続したり、他のネットワークに接続させたりするための無線機である。典型的には、OSI参照モデルにおける第1層(物理層)及び第2層(データリンク層)の通信プロトコルで作動するデバイスである。
When the robots 201a to 201e are flying robots such as drones, the robots 201a to 201e are connected to the Internet 39 via wireless base stations or access points 41 and 42 as shown in FIG. That is, the robots 201a to 201e are also configured to be capable of mutual communication with the cloud platform 11 and various terminals via the Internet 39.
Here, the access point is a wireless device for connecting wireless terminals such as a PC and a smartphone to each other or to connect to another network. Typically, it is a device that operates with communication protocols of the first layer (physical layer) and the second layer (data link layer) in the OSI reference model.

なお、本願の出願時点での携帯電話や携帯情報端末ないしタブレットは、パーソナルコンピュータ(PC)に比肩する処理能力(通信処理速度や画像処理能力等)を備えているものも多く、小型のコンピュータとも言うべきものである。   Note that many mobile phones, personal digital assistants, and tablets at the time of filing of the present application have processing capabilities (communication processing speed, image processing capability, etc.) comparable to personal computers (PCs). It is something to say.

また、本発明の実施に必要なプログラムないしソフトウェアは、通常、PCや携帯情報端末の記憶部におけるHDD、SSD等にインストールないし記憶され、プログラムないしソフトウェアの実行時には、必要に応じて記憶部内のメモリにその全部又は一部のソフトウェアモジュールとして読み出され、CPUにおいて演算実行される。   In addition, a program or software necessary for implementing the present invention is normally installed or stored in an HDD, an SSD, or the like in a storage unit of a PC or a portable information terminal. When executing the program or software, a memory in the storage unit is necessary. Are read as all or a part of the software modules, and are executed by the CPU.

あるいは、ブラウザベースのコンピュータないし携帯情報端末を採用することもできる。この場合は、必要に応じて他のサーバやコンピュータから端末にプログラムが配信され、端末上のブラウザではこれを実行する、という構成になる。   Alternatively, a browser-based computer or a portable information terminal can be employed. In this case, the program is distributed from another server or computer to the terminal as necessary, and the browser on the terminal executes the program.

また、クラウドプラットフォーム11のハードウェア構成も、基本的にはPCを採用することができる。なお、本発明はこれに限定されるものではないが、クラウドプラットフォーム11は、必要に応じてそのハードウェアスペックを上げるにあたり、複数のPC(一例として、数十台〜数万台)を並列的に作動させることによって大規模データの処理に適した構成をとることもできる。   Also, the hardware configuration of the cloud platform 11 can basically adopt a PC. Note that the present invention is not limited to this, but the cloud platform 11 is configured so that a plurality of PCs (several tens to tens of thousands as an example) are arranged in parallel to increase the hardware specifications as necessary. It is also possible to adopt a configuration suitable for processing large-scale data.

図2に、本発明の一実施形態にかかるクラウドロボティクスシステムにおけるロボットのバリエーション例を示す。本発明の一実施形態にかかるロボットは、図2(A)に示された飛行型ロボット201(図1に示された飛行型ロボット201a〜201eに対応する)の他、自走式の掃除ロボット202や、自律歩行式の介助ロボット203など、多くのロボットを含むことができる。例えば、図2に示されたバリエーション以外にも、航空機、船舶、自動車、ロケット、人工衛星、探索機、救助ロボット等々、自律して作動ないし移動する様々な乗り物や電子機器、制御機械等が含まれる。   FIG. 2 shows a variation example of the robot in the cloud robotics system according to the embodiment of the present invention. A robot according to an embodiment of the present invention includes a self-propelled cleaning robot in addition to the flying robot 201 shown in FIG. 2A (corresponding to the flying robots 201a to 201e shown in FIG. 1). Many robots, such as 202 and the autonomous walking-type assistance robot 203, can be included. For example, in addition to the variations shown in FIG. 2, various vehicles, electronic devices, control machines, etc. that operate or move autonomously, such as airplanes, ships, automobiles, rockets, artificial satellites, searchers, rescue robots, etc. are included. It is.

図3に、本発明の一実施形態にかかるロボット201〜203を構成するハードウェアの機能ブロック図を例示する。例示的に、ロボット201〜203の動作は、以下に説明するハードウェアの個々の動作、及びソフトウェアとこれらハードウェアとの連携動作によって実現されている。   FIG. 3 illustrates a functional block diagram of hardware constituting the robots 201 to 203 according to the embodiment of the present invention. For example, the operations of the robots 201 to 203 are realized by individual operations of hardware described below, and a cooperative operation between the software and these hardware.

図3において、ハードウェアブロック全体としてのロボット300は、大別すると、移動手段となるプロペラ(飛行型ロボットの場合)や車輪(陸上走行ロボットの場合)を駆動するためのモータ部301と、アームや可動フック、ハンドなどを可動させるためのアクチュエータ部302と、RGBカメラのほか、RGB−Dカメラ、赤外線カメラなどからなるカメラ部303と、音声収録のためのマイク部304と、熱センサ、温度センサ、ガスセンサなどのセンシング部305と、各種信号制御のための制御部306と、比較・演算処理を行うためのCPU307と、RAM、ROM、フラッシュメモリ等の記憶部308と、ランプ、スピーカ等の出力部309と、通信部310(無線、有線を問わない)と、時刻等を計時するための計時部311と、電源部312と、ジャイロ313と、GPS314とからなる。
但し、ロボットの種別によって、これらの一部のデバイスは他のデバイスに代替されたり省略されたりすることがある。
In FIG. 3, the robot 300 as a whole hardware block is roughly divided into a motor unit 301 for driving a propeller (in the case of a flying robot) and wheels (in the case of a land traveling robot) serving as moving means, and an arm. In addition to an RGB camera, an actuator unit 302 for moving a movable hook, a hand, and the like, a camera unit 303 composed of an RGB-D camera, an infrared camera, etc., a microphone unit 304 for recording audio, a thermal sensor, a temperature Sensing unit 305 such as a sensor or gas sensor, control unit 306 for controlling various signals, CPU 307 for performing comparison / arithmetic processing, storage unit 308 such as RAM, ROM, flash memory, lamp, speaker, etc. An output unit 309, a communication unit 310 (whether wireless or wired), and a time count for measuring time, etc. And parts 311, a power supply unit 312, a gyro 313, consisting GPS314 Prefecture.
However, some of these devices may be replaced with other devices or omitted depending on the type of robot.

また、電源部312としては、リチウムポリマー(Li−Po)バッテリーや水素燃料バッテリー等のバッテリーユニットが採用される。また、ジャイロ313には、特に飛行型ロボットの場合に必要とされる、(回転運動)加速度及び(併進運動)加速度を検出可能な慣性センサ(6軸)ユニットが採用される。また、GPS314には、アンテナ及び受信機が一体的に実装された汎用型GPSユニットなどが採用される。   As the power supply unit 312, a battery unit such as a lithium polymer (Li-Po) battery or a hydrogen fuel battery is employed. The gyro 313 employs an inertial sensor (6-axis) unit capable of detecting (rotational motion) acceleration and (translational motion) acceleration, which is necessary particularly in the case of a flying robot. The GPS 314 employs a general-purpose GPS unit in which an antenna and a receiver are integrally mounted.

これらのモジュールは必要に応じて適宜通信バスや給電線(図3においては、便宜上各線が適宜区分された結線399としてひとまとめに表す)によって接続されている。   These modules are connected by a communication bus or a power supply line as needed (in FIG. 3, for convenience, each line is collectively shown as a connection line 399).

また、本発明の実施に必要なロボット300上で実行されるプログラムないしソフトウェアは、通常、記憶部307を構成するハードディスクディスク、SSD(Solid State Drive)、フラッシュメモリ等にインストールないし記憶され、プログラムないしソフトウェアの実行時には、必要に応じて記憶部307内のメモリにその全部又は一部のソフトウェアモジュールとして読み出され、CPU312において演算実行される。   In addition, a program or software executed on the robot 300 necessary for implementing the present invention is normally installed or stored in a hard disk disk, SSD (Solid State Drive), flash memory, or the like that constitutes the storage unit 307. When executing the software, all or part of the software module is read into the memory in the storage unit 307 as necessary, and the CPU 312 performs an operation.

なお、演算実行は必ずしもCPU等の中央処理部312で行われる必要はなく、図示しないディジタルシグナルプロセッサ(DSP)等の補助演算装置を用いることもできる。   It should be noted that the execution of the calculation is not necessarily performed by the central processing unit 312 such as the CPU, and an auxiliary arithmetic unit such as a digital signal processor (DSP) (not shown) may be used.

図4に、本発明の一実施形態にかかるクラウドロボティクスシステムにおける情報処理装置としてのタブレット端末12の外観構成を示す。図4において、情報処理装置(タブレット端末)12は、筐体部121とディスプレイ122と筐体121の下部中央部に設けられたハードウェアボタン123とからなる。ディスプレイ122は典型的には液晶ディスプレイ(LCD)等で構成され、文字や静止画像や動画など様々な情報を表示することができる。また、ディスプレイ122にメニューボタンやソフトウェアキーボードを表示させ、これを指ないしタッチペン(不図示)等で触れることによりタブレット端末12への指示(コマンド)とすることができる。この点で上記ハードウェアボタン123は必須の構成要素ではないが、本発明の説明の便宜上、一定の機能を担うボタンとして実装されている。もちろん、これらハードウェアボタン123を、ディスプレイ122の一部に表示させたメニューボタンで代替させることも可能である。   FIG. 4 shows an external configuration of the tablet terminal 12 as an information processing apparatus in the cloud robotics system according to the embodiment of the present invention. In FIG. 4, the information processing apparatus (tablet terminal) 12 includes a housing part 121, a display 122, and a hardware button 123 provided at the lower center part of the housing 121. The display 122 is typically composed of a liquid crystal display (LCD) or the like, and can display various information such as characters, still images, and moving images. In addition, a menu button or a software keyboard is displayed on the display 122 and can be used as an instruction (command) to the tablet terminal 12 by touching it with a finger or a touch pen (not shown). In this respect, the hardware button 123 is not an essential component, but is implemented as a button having a certain function for convenience of explanation of the present invention. Of course, these hardware buttons 123 can be replaced with menu buttons displayed on a part of the display 122.

また、ディスプレイ122には、マルチタッチ入力パネルが含まれており、タッチ入力パネル上でのタッチ入力位置座標が入力デバイスインタフェース(不図示)を介してタブレット端末12の処理系(CPU)へ送信され処理される。そして、このマルチタッチ入力パネルは、パネルに対する複数の接触点を同時に感知することができるよう構成されている。この検出(センサ)については様々な方法で実現することができ、必ずしも接触センサに限られず、例えば、光学式のセンサを利用してパネルに対する指示点を抽出することも可能である。さらに、センサには、接触式のセンサや光学式のセンサのほか、人の肌の接触を感知する静電容量方式のセンサを用いることも可能である。   The display 122 includes a multi-touch input panel, and touch input position coordinates on the touch input panel are transmitted to the processing system (CPU) of the tablet terminal 12 via an input device interface (not shown). It is processed. And this multi-touch input panel is comprised so that the several contact point with respect to a panel can be sensed simultaneously. This detection (sensor) can be realized by various methods, and is not necessarily limited to the contact sensor. For example, an indication point for the panel can be extracted using an optical sensor. Furthermore, in addition to a contact sensor or an optical sensor, a capacitive sensor that senses contact with human skin can be used as the sensor.

また、図4には現れていないが、タブレット端末12は、マイクやスピーカを備えることもできる。この場合にはマイクより拾ったユーザの声などを判別して入力コマンドとすることも可能である。さらに、図4には現れていないが、タブレット端末12の背面等には、CMOS等のカメラデバイスが実装されている。   Although not shown in FIG. 4, the tablet terminal 12 can include a microphone and a speaker. In this case, it is possible to determine the voice of the user picked up from the microphone and use it as an input command. Further, although not shown in FIG. 4, a camera device such as a CMOS is mounted on the back surface of the tablet terminal 12 or the like.

さらに、タブレット端末12や他の情報処理装置で実装可能なアプリケーション例として、3Dジェスチャーインタフェースがある。これは、外付けか、あるいは内蔵された小型モーションコントローラと、専用ソフトウェアとからなる3次元モーションキャプチャシステムである。   Furthermore, there is a 3D gesture interface as an application example that can be implemented in the tablet terminal 12 or other information processing apparatuses. This is a three-dimensional motion capture system consisting of a small motion controller, which is externally attached or built in, and dedicated software.

主として、指先や手の動きをキャプチャして解析し、コンピュータの指示操作とすることができる。典型的には、コントローラないしディスプレイ手前の一定の3次元空間において、ユーザの両手や指先の動きを高速で追跡し、その動きに応じたコマンドを様々なアプリケーションに対して体感的及び直接的に指示することができる。   Mainly, it is possible to capture and analyze the movement of a fingertip or a hand, and use it as a computer instruction operation. Typically, in a certain three-dimensional space in front of the controller or display, the user's hands and fingertips are tracked at high speed, and commands corresponding to the movements are given to various applications in a sensational and direct manner. can do.

例えば、地図アプリケーション上で指や手を大きく動かして地図を拡大/縮小させたり、ビューアに表示させた3次元オブジェクトを回転させたりすることができるほか、指先の動きを追跡して署名などの細かい筆跡をキャプチャすることも可能である。一例として、100分の1ミリ程度の精度で指先等の動きを検知することができる。   For example, you can move a finger or hand on the map application to enlarge / reduce the map, rotate a 3D object displayed in the viewer, or track the movement of the fingertip to make detailed signatures It is also possible to capture handwriting. As an example, the movement of a fingertip or the like can be detected with an accuracy of about 1/100 mm.

また、他のインタフェースデバイスとして、頭部に装着するディスプレイ装置(ヘッドマウントディスプレイ)などのウェアラブルコンピュータを採用することも有効である。この場合、例えば、ロボットの視界をヘッドマウントディスプレイ等の画面に連動させることにより、このヘッドマウントディスプレイを装着したユーザの頭の動き(向き)とロボットの視界(向き)とを連動させることができる。   It is also effective to employ a wearable computer such as a display device (head mounted display) worn on the head as another interface device. In this case, for example, by linking the robot's field of view to a screen such as a head-mounted display, the movement (direction) of the head of the user wearing the head-mounted display and the field of view (direction) of the robot can be linked. .

図5に、本発明の一実施形態にかかるタブレット端末12を構成するハードウェアの機能ブロック図を例示する。タブレット端末12の動作は、以下に説明するハードウェアの個々の動作、及びソフトウェアとこれらハードウェアとの連携動作によって実現されている。   FIG. 5 illustrates a functional block diagram of hardware constituting the tablet terminal 12 according to the embodiment of the present invention. The operation of the tablet terminal 12 is realized by individual operations of hardware described below, and a cooperative operation between software and these hardware.

図5において、ハードウェアブロック全体としてのタブレット端末500は、大別すると、図4におけるハードウェアボタン123、ディスプレイ122に設けられたマルチタッチ入力パネル、マイク等で構成される入力部501と、プログラムやデータ等を記憶するためのハードディスク、RAM及び/又はROM等で構成される記憶部502と、プログラムによって様々な数値計算や論理演算を行うCPUによって構成される中央処理部503と、ディスプレイ122等で構成される表示部504と、チップや電気系統等の制御を行うための制御部505と、インターネットにアクセスするためのスロットや光通信を行うためのポート、及び通信インタフェースから構成される通信インタフェース部506と、スピーカやバイブレーション、赤外線プロジェクター等の出力部507と、時刻等を計時するための計時部508と、CMOS等のイメージセンサや赤外線センサ、慣性センサ等からなるセンサ部509と、装置内の各モジュールに電源を供給するための電源部510とからなり、これらのモジュールは必要に応じて適宜通信バスや給電線(図5においては、便宜上各線が適宜区分された結線599としてひとまとめに表す)によって接続されている。
なお、センサ部509には、タブレット端末500(12)の位置を特定するためのGPSセンサモジュールを含めることとしても良い。また、センサ部509を構成するCMOS等のイメージセンサや赤外線センサ等によって検知された信号は、入力部501において入力情報として処理することができる。
In FIG. 5, the tablet terminal 500 as a whole hardware block is roughly divided into a hardware button 123 in FIG. 4, a multi-touch input panel provided on the display 122, an input unit 501 including a microphone, and a program, Storage unit 502 configured with a hard disk, RAM, and / or ROM for storing data and data, etc., central processing unit 503 configured with a CPU that performs various numerical calculations and logical operations according to programs, a display 122, etc. A communication interface including a display unit 504 configured by a control unit 505, a control unit 505 for controlling a chip, an electric system, and the like, a slot for accessing the Internet, a port for optical communication, and a communication interface Part 506, speaker and vibration , An output unit 507 such as an infrared projector, a timing unit 508 for measuring time, a sensor unit 509 including an image sensor such as a CMOS, an infrared sensor, an inertial sensor, and the like, and supplies power to each module in the apparatus These modules are connected by a communication bus or a power supply line as needed (in FIG. 5, they are collectively shown as a connection line 599 in which each line is appropriately divided for convenience).
The sensor unit 509 may include a GPS sensor module for specifying the position of the tablet terminal 500 (12). In addition, a signal detected by an image sensor such as a CMOS or an infrared sensor constituting the sensor unit 509 can be processed as input information in the input unit 501.

また、本発明の実施に必要なタブレット端末500上で実行されるプログラムないしソフトウェアは、通常、記憶部502を構成するハードディスクディスク、SSD(Solid State Drive)、フラッシュメモリ等にインストールないし記憶され、プログラムないしソフトウェアの実行時には、必要に応じて記憶部502内のメモリにその全部又は一部のソフトウェアモジュールとして読み出され、CPU503において演算実行される。   In addition, a program or software executed on the tablet terminal 500 necessary for implementing the present invention is normally installed or stored in a hard disk disk, SSD (Solid State Drive), flash memory, or the like constituting the storage unit 502, and the program Or, when executing the software, the CPU 503 reads out all or a part of the software modules in the memory in the storage unit 502 as necessary, and executes the calculation in the CPU 503.

なお、演算実行は必ずしもCPU等の中央処理部503で行われる必要はなく、図示しないディジタルシグナルプロセッサ(DSP)等の補助演算装置を用いることもできる。   It should be noted that the execution of the calculation is not necessarily performed by the central processing unit 503 such as a CPU, and an auxiliary arithmetic unit such as a digital signal processor (DSP) (not shown) can be used.

図6に、本発明の一実施形態にかかるクラウドプラットフォームの詳細な機能ブロック構成を示す。図6には、例示的に2つのクラウドプラットフォーム600及び650が示されている。本発明は、これに限定されるものではないが、複数のクラウドプラットフォームを想定することができる。   FIG. 6 shows a detailed functional block configuration of a cloud platform according to an embodiment of the present invention. FIG. 6 exemplarily shows two cloud platforms 600 and 650. The present invention is not limited to this, but a plurality of cloud platforms can be assumed.

クラウドプラットフォーム600には、サーバ群610とサーバ群620とが含まれており、いくつかのデータベース631〜633を有している。   The cloud platform 600 includes a server group 610 and a server group 620, and has several databases 631 to 633.

サーバ群610、620は、必ず2つというものではなく、1群のサーバであってもよいし、それ以上の数のサーバ群が含まれてもよい。同図では、サーバ群610及び620は、有線/無線を問わない回線641によって接続され、相互に通信可能に構成されている。   The server groups 610 and 620 are not necessarily two, but may be a group of servers or a larger number of server groups. In the figure, the server groups 610 and 620 are connected by a line 641 regardless of wired / wireless, and are configured to be able to communicate with each other.

また、データベース631〜633についても、その数に制限はなく、適応的に増減させることができる。そして、これらデータベース631〜633に対しては、回線642〜645を介して、サーバ群610、620の双方からアクセス可能に構成されている。
さらに、データベース631〜633には、適宜プライバシが保護された情報が共有されている。また、データ形式とプロセスの定義が可能である(例えば、データベース633に、ロボットのタイプやスペック等の情報を予め登録しておくことができる)。
Further, the number of the databases 631 to 633 is not limited and can be adaptively increased or decreased. These databases 631 to 633 are configured to be accessible from both server groups 610 and 620 via lines 642 to 645.
Furthermore, information in which privacy is appropriately protected is shared in the databases 631 to 633. In addition, a data format and a process can be defined (for example, information such as a robot type and specifications can be registered in the database 633 in advance).

クラウドプラットフォーム650は、クラウドプラットフォーム600から見た場合の他のクラウド資源(例えば、サード・パーティAPIなど)である。クラウドプラットフォーム650も、クラウドプラットフォーム600と同様に、適応的に増減可能なハードウェア及びソフトウェア資源で構成され、有線/無線を問わない双方向に通信可能な回線646によって接続されている。
同図中、クラウドプラットフォーム650は、例示的に、サーバ(群)651とデータベース652とを含み、相互に通信可能な回線653で接続されている。
The cloud platform 650 is another cloud resource (for example, a third party API) when viewed from the cloud platform 600. Similarly to the cloud platform 600, the cloud platform 650 is configured by hardware and software resources that can be adaptively increased and decreased, and is connected by a line 646 that can communicate bidirectionally regardless of wired / wireless.
In the figure, the cloud platform 650 illustratively includes a server (group) 651 and a database 652, and is connected by a line 653 that can communicate with each other.

クラウドプラットフォーム600、650は、安全かつ容量可変なプラットフォームとして構築ないし構成される。   The cloud platforms 600 and 650 are constructed or configured as a secure and variable capacity platform.

そして、これらのクラウドプラットフォーム(クラウド資源)に対しては、双方向の標準コミュニケーションインタフェース695を介して、様々なデバイスとコミュニケーションをとることができる。   These cloud platforms (cloud resources) can communicate with various devices via a bidirectional standard communication interface 695.

同図中、様々なデバイスの例示として、ロボット681〜683、及び情報処理装置(端末)684が示されている。ロボット681〜683は、通常、クラウドプラットフォームと連携して動作するが、必要に応じてネットワーク異常を検出させ、異常が検出された場合には、完全かつ安全なスタンドアローンシステムないしデバイスへと切り替えるよう制御させることもできる。   In the figure, robots 681 to 683 and an information processing apparatus (terminal) 684 are shown as examples of various devices. The robots 681 to 683 normally operate in cooperation with the cloud platform. However, when necessary, the robot 681 detects a network abnormality and switches to a complete and safe stand-alone system or device when an abnormality is detected. It can also be controlled.

また、情報処理装置(端末)は、ユーザや管理者が使用するものであるが、かかる情報処理装置を介して、例えばブラウザ経由のシステム構成変更や状態監視が可能である。さらには、クラウドプラットフォームを介して、ブラウザ経由のロボット監視や制御も可能である。   The information processing apparatus (terminal) is used by a user or an administrator, and can change the system configuration or monitor the status via, for example, a browser via the information processing apparatus. Furthermore, robot monitoring and control via a browser are possible via a cloud platform.

次に、図7(A)及び図7(B)を参照して、本発明の一実施形態にかかるクラウドロボティクスシステムにおける処理ルーチン(処理サービスの構成要素)の基本概念を示す。
なお、処理サービスは、構成要素であるいくつかの処理ルーチンによって構成されている。以下、詳細に説明する。
Next, with reference to FIGS. 7A and 7B, a basic concept of a processing routine (components of a processing service) in a cloud robotics system according to an embodiment of the present invention will be described.
The processing service is composed of several processing routines that are constituent elements. Details will be described below.

図7(A)は、シングルサービスとしての処理ルーチンのソフトウェア構成が例示されており、サービス70は、サービスインタフェース711〜713を介して外部モジュールと通信可能な内部ソフトウェアモジュール720、730、及び740を含む(後述するが、内部ソフトウェアモジュール720は、サービスインタフェース711〜713と同様のインタフェースを介して他の外部モジュールとも通信可能に構成される)。   FIG. 7A illustrates a software configuration of a processing routine as a single service. The service 70 includes internal software modules 720, 730, and 740 that can communicate with external modules via service interfaces 711 to 713. (As will be described later, the internal software module 720 is configured to be communicable with other external modules via the same interface as the service interfaces 711 to 713).

内部ソフトウェアモジュール720、730、及び740は、さらに詳細な役割分担として、ワーキングルーチン、失敗検出サブルーチン、及び救助要請ルーチンに区分される。以後、内部ソフトウェアモジュール720、730、及び740を、それぞれワーキングルーチン720、失敗検出サブルーチン730、及び救助要請ルーチン740とも呼ぶこととする。   The internal software modules 720, 730, and 740 are further divided into a working routine, a failure detection subroutine, and a rescue request routine as detailed role assignments. Hereinafter, the internal software modules 720, 730, and 740 are also referred to as a working routine 720, a failure detection subroutine 730, and a rescue request routine 740, respectively.

ワーキングルーチン720は、外部ソフトウェアモジュールから受けたリクエストに従って主たるタスクを実行するソフトウェアモジュールである。後述するが、サービスインタフェース711〜713と同様のインタフェースを介して他の外部モジュールに対してリクエストを出すこともできる。   The working routine 720 is a software module that executes a main task in accordance with a request received from an external software module. As will be described later, a request can be issued to another external module through an interface similar to the service interfaces 711 to 713.

失敗検出サブルーチン730は、リクエストを受けたタスクの実行中にそのタスクが失敗したことを自身で判断することができるほか、外部モジュールからのフィードバック状況から外部モジュールに対するリクエストが失敗したことも判断することができる。   The failure detection subroutine 730 can determine by itself that the task has failed during the execution of the task that has received the request, and also determine that the request to the external module has failed from the feedback status from the external module. Can do.

救助要請ルーチン740は、失敗と判断されたリクエストないしタスクについて、クラウドプラットフォーム等に救助を要請する(call for help)ソフトウェアモジュールである。この場合、必要に応じて、サービスインタフェース711〜713とは別にクラウドプラットフォーム等へ救助を要請するためのソフトウェアインタフェースを設けることとしても良い(救助要請は、クラウドプラットフォームを介して、端末791〜793へ伝達される。詳細については後述する)。   The rescue request routine 740 is a software module that calls for help to a cloud platform or the like for a request or task that is determined to have failed. In this case, if necessary, a software interface for requesting rescue to the cloud platform or the like may be provided separately from the service interfaces 711 to 713 (the rescue request is sent to the terminals 791 to 793 via the cloud platform. (Details will be described later).

サービスインタフェース711〜713は、外部モジュールからリクエストを受けた場合のコミュニケーションインタフェースである(同様に、外部モジュールに対してリクエストを出す場合には、ワーキングルーチン720からリクエストが出される。2者間のコネクションの様子は、図7(B)を参照して後述する)。   The service interfaces 711 to 713 are communication interfaces when a request is received from an external module (similarly, when a request is issued to the external module, the request is issued from the working routine 720. Connection between the two parties) The situation will be described later with reference to FIG. 7B).

そして、サービスインタフェース711は、外部モジュールからのリクエストを受けるためのインタフェースであり、サービスインタフェース712は、リクエストを出した外部モジュールに対してフィードバックを返すためのインタフェースであり、サービスインタフェース712は、リクエストを出した外部モジュールに対して結果(典型的には、真/偽といったバイナリ応答)を返すためのインタフェースである。   The service interface 711 is an interface for receiving a request from an external module, the service interface 712 is an interface for returning feedback to the external module that has issued the request, and the service interface 712 This is an interface for returning a result (typically a binary response such as true / false) to the issued external module.

本発明の一実施形態にかかるクラウドロボティクスシステムでは、図7(A)に示したシングルサービスを基本として、他のシングルサービスからリクエストを受けたり、別のシングルサービスへリクエストを出したりするといった関係を有機的に(ダイナミックに)構築しながら全体の処理を進めていくことが、大きな特徴となっている。   In the cloud robotics system according to the embodiment of the present invention, the relationship of receiving a request from another single service or issuing a request to another single service based on the single service shown in FIG. The main feature is that the whole process is advanced while building organically (dynamically).

ここで、2以上のサービスがコネクション関係を構築して処理を進める場合には、リクエストを出すサービスは、ハイレベル・サービスとなり、リクエストを受けたサービスは、ローレベル・サービスとなる。   Here, when two or more services construct a connection relationship and proceed with processing, the service that issues a request is a high-level service, and the service that receives the request is a low-level service.

図7(B)に、かかるコネクション関係を構築したハイレベル・サービス及びローレベル・サービスの関係を示す。   FIG. 7B shows the relationship between the high-level service and the low-level service that have established such a connection relationship.

図7に示された基本的なサービスコネクション構造におけるハイレベル・サービス750とローレベル・サービス760との間の典型的なやりとりは、次のモデルに従う。
(A)必要に応じて、ハイレベル・サービス750内での初期化(Initialization)。この初期化には、ゴールの設定も含まれる。
(B)ハイレベル・サービス750からローレベル・サービス760へのリクエストまたはタスク要求(図7(B)において、ワーキングルーチン7520からサービスインタフェース7611へリクエストが送信される)。
(C)ローレベル・サービス760における処理。図7(B)には示さないが、ここで処理が、さらに詳細なタスクやリクエストに分解されて、さらにローレベルとなる他のサービスないしルーチンへ送られる場合もある(その場合は、ワーキングルーチン7620から外部サービスへリクエストが出される)。
(D)ローレベル・サービス760からハイレベル・サービス750へのフィードバック。ローレベル・サービス760で検知された状況が返される。
(E)ハイレベル・サービス750での判断。例えば、ゴールに向けたタスク処理の進行が好ましいかどうか(失敗したかどうか)、あるいは、外部の助け(Help)が必要かどうかの判断を行う。この場合、失敗の判断は、図7における失敗検出サブルーチン730、7530、7630によって判断され、外部の助けが必要と判断された場合の救助要請は、図7における救助要請ルーチン740、7540、7640によって実施される。
(F)ローレベル・サービス760からハイレベル・サービス750へのバイナリ応答(例えば、真(1)か偽(0)かの2値応答)
A typical interaction between the high-level service 750 and the low-level service 760 in the basic service connection structure shown in FIG. 7 follows the following model.
(A) Initialization within the high-level service 750 as necessary. This initialization includes setting a goal.
(B) A request or task request from the high-level service 750 to the low-level service 760 (in FIG. 7B, the request is transmitted from the working routine 7520 to the service interface 7611).
(C) Processing in the low-level service 760. Although not shown in FIG. 7B, the processing may be further broken down into more detailed tasks and requests and sent to other services or routines that are further lowered (in this case, the working routine) 7620 makes a request to an external service).
(D) Feedback from the low level service 760 to the high level service 750. The status detected by the low level service 760 is returned.
(E) Judgment at the high level service 750. For example, it is determined whether the progress of task processing toward the goal is preferable (whether it has failed) or whether external help is required. In this case, the determination of failure is determined by the failure detection subroutine 730, 7530, 7630 in FIG. 7, and the rescue request when it is determined that external help is necessary is determined by the rescue request routine 740, 7540, 7640 in FIG. To be implemented.
(F) Binary response from low-level service 760 to high-level service 750 (for example, binary response of true (1) or false (0))

図7(A)や図7(B)に示したモデルは、最もシンプルなモデルであり、もっと複雑な階層構造を伴ったモデルもあり得る(Fundamental Build Up Model)。例えば、3層構造のモデルや5層構造、それ以上の構造のモデルなどである。   The models shown in FIGS. 7A and 7B are the simplest models, and there may be a model with a more complicated hierarchical structure (Fundamental Build Up Model). For example, a model having a three-layer structure, a five-layer structure, a model having a structure higher than that, and the like.

また、ハイレベル・サービスは常にクラウドプラットフォーム側にあり、ローレベル・サービスは常にロボット側にあるというものでもない。双方がクラウドプラットフォーム側にある場合も、また逆に双方がロボット側にあるということもあり得る。あるいは、あるハイレベル・サービス(またはローレベル・サービス)の一部がクラウドプラットフォームにあって、他の一部はローレベル・サービスにあるということも有り得る。   Also, high-level services are always on the cloud platform side, and low-level services are not always on the robot side. It is possible that both are on the cloud platform side, and vice versa. Alternatively, some high-level services (or low-level services) may be on the cloud platform and others may be on low-level services.

さらに、クラウドプラットフォームにて生成されたハイレベル・サービスが、ロボットにあるローレベル・サービスにタスク要求(サービスコール)し、ロボットにてサービスを実行していく過程で、今度は、ロボットからクラウドプラットフォームへのタスク要求(サービスコール)を行うということもあり得る。
こうした、ハイレベル・サービス及びローレベル・サービスは、同時並行して動的に生成され、様々な階層構造をとり得る。
Furthermore, in the process where the high-level service generated on the cloud platform makes a task request (service call) to the low-level service in the robot and executes the service on the robot, this time, the robot to the cloud platform A task request (service call) may be made.
Such high-level services and low-level services are dynamically generated in parallel and can have various hierarchical structures.

また、失敗の検知方法(失敗と判断する基準)には、特定イベントないしステータスが返ってきたことを検知することの他に、一定時間が経過しても応答がないこと(いわゆるタイムアウトしたこと)が含まれる。   In addition, the failure detection method (criteria for determining failure) is that there is no response after a certain period of time (so-called time-out) in addition to detecting that a specific event or status has returned. Is included.

図8は、図7を参照して説明したモデルに基づいて、さらに階層的な処理構造(レイヤ構造)を有することとなった、本発明の一実施形態にかかるクラウドロボティクスシステムにおける処理サービスの概念を例示したものである。   FIG. 8 shows a concept of a processing service in the cloud robotics system according to the embodiment of the present invention, which has a hierarchical processing structure (layer structure) based on the model described with reference to FIG. Is illustrated.

図8に示したモデルでは、4階層のレイヤ1〜4が存在している。レイヤ1には、終局的なサービスである「ゴールG」が設定され、レイヤ1よりもローレベルとなるレイヤ2には、「ゴールG」を達成するための3つのサービス2A〜2Cが存在する。
そして、レイヤ2のうちのサービス2Aからは、レイヤ2よりもさらにローレベルとなるレイヤ3におけるサービス3Aが存在し、サービス2Bからは、レイヤ3におけるサービス3Bが存在している。
In the model shown in FIG. 8, there are four layers 1-4. “Goal G”, which is an ultimate service, is set in the layer 1, and there are three services 2A to 2C for achieving the “goal G” in the layer 2 that is at a lower level than the layer 1. .
From the service 2A of the layer 2, there is a service 3A in the layer 3 that is at a lower level than the layer 2, and from the service 2B, there is a service 3B in the layer 3.

さらに、レイヤ3には、「ゴールG」を達成するための別のサービス3Cが存在する(なお、このサービス3Cは、サービス2A〜2Cの生成時には存在しなかったものである。処理の詳細については後述する)。そして、サービス3Cからは、レイヤ3よりもさらにローレベルとなるレイヤ4におけるサービス4Aが存在している。   Furthermore, another service 3C for achieving the “goal G” exists in the layer 3 (note that this service 3C did not exist when the services 2A to 2C were generated. Details of processing) Will be described later). From the service 3C, there is a service 4A in the layer 4 that is at a lower level than the layer 3.

ここで、図8に示されたモデルが適用される具体的な事例として、クラウドプラットフォームが部屋にいるロボットに対し「テーブルの上にあるコップを持って来なさい」というタスク実行命令(リクエスト、または、サービスコールとも言う。以下、同じ)を実行させることを挙げることができる。   Here, as a specific example in which the model shown in FIG. 8 is applied, a task execution instruction (request or request) that the cloud platform “provides a cup on the table” is given to the robot in the room. This is also referred to as a service call.

このとき、レイヤ1のゴールGは、

G:「テーブルの上にあるコップを持って来なさい」

であり、クラウドプラットフォームからロボットへのサービスコールである。
At this time, the goal G of layer 1 is

G: “Please bring a cup on the table”

It is a service call from the cloud platform to the robot.

そして、レイヤ1のGからレイヤ2へ分岐する3つのサービス2A〜2Cには、例えば、それぞれ以下のサービスを対応付けることができる。いずれも、クラウドプラットフォームからロボットへのサービルコールである。

2A:「テーブルを見つけなさい」
2B:「見つけたテーブルの上のコップを確認して持ちなさい」
2C:「コップを持ったまま帰って来なさい」
Then, for example, the following services can be associated with the three services 2A to 2C that branch from G in layer 1 to layer 2 respectively. Both are service calls from the cloud platform to the robot.

2A: “Find the table”
2B: “Check and hold the cup on the table you find”
2C: “Come back with a glass”

サービス2Aを実行するロボットからクラウドプラットフォームへは、次のようなフィードバック1〜3が返される。

フィードバック1:「いま、部屋の中の物体を探しています」
フィードバック2:「椅子を発見しました」
フィードバック3:「タンスを発見しました」
The following feedbacks 1 to 3 are returned from the robot executing the service 2A to the cloud platform.

Feedback 1: “I am looking for an object in the room now”
Feedback 2: “I found a chair”
Feedback 3: “I found a chiffon”

今度は、レイヤ2のサービス2A(テーブルを見つけなさい)をハイレベル・サービスとして、レイヤ3におけるローレベルとなるサービス3Aが存在する。

3A:「(画像の送信とともに)これはテーブルですか?」

これは、ロボットからクラウドプラットフォームへのサービスコールである。クラウドプラットフォームからロボットへは、Yes(真)又はNo(偽)のバイナリ応答が返される。ここでは、Yes(真)が返され、ロボットは、サービス2B(見つけたテーブルの上のコップを確認して持ちなさい)を実行するものとする。サービス2Bを実行するロボットからクラウドプラットフォームへは、次のようなフィードバック4〜5が返される。

フィードバック4:「いま、テーブルの上の物体を探しています」
フィードバック5:「本を発見しました」
This time, there is a service 3A which is a low level in layer 3 with the service 2A of layer 2 (find the table) as a high level service.

3A: “Is this a table (with image transmission)?”

This is a service call from the robot to the cloud platform. A binary response of Yes (true) or No (false) is returned from the cloud platform to the robot. Here, Yes (true) is returned, and the robot executes the service 2B (check and hold the cup on the found table). The following feedbacks 4 to 5 are returned from the robot executing the service 2B to the cloud platform.

Feedback 4: “I'm looking for an object on the table now”
Feedback 5: “I found the book”

さらに、レイヤ2のサービス2B(テーブルの上のコップを確認して持ちなさい)をハイレベル・サービスとして、レイヤ3におけるローレベルとなるサービス3Bが存在する。

3B:「(画像の送信とともに)これはコップですか?」

これは、ロボットからクラウドプラットフォームへのサービスコールである。クラウドプラットフォームからロボットへは、Yes(真)又はNo(偽)のバイナリ応答が返される。ここでは、Yes(真)が返され、ロボットは、サービス2B(見つけたテーブルの上のコップを確認して持ちなさい)をさらに実行しようとして、次のフィードバック6が返されるとする。

フィードバック6:「このコップをどのくらいの力で持てばいいか分かりません」
Further, there is a service 3B which is a low level in the layer 3 with the service 2B of the layer 2 (please confirm and hold the cup on the table) as a high level service.

3B: "Is this a cup (with image transmission)?"

This is a service call from the robot to the cloud platform. A binary response of Yes (true) or No (false) is returned from the cloud platform to the robot. Here, it is assumed that Yes (true) is returned, and the robot returns the next feedback 6 in an attempt to further execute service 2B (check and hold the cup on the found table).

Feedback 6: “I do n’t know how much I should hold this glass.”

上記フィードバック6を受けたクラウドプラットフォームは、そのコップに対する力加減をデータベース上で探し出そうとするが見つからないものとする。そうすると、ロボットからは、

フィードバック6:「このコップをどのくらいの力で持てばいいか分かりません」

という同じフィードバックが返ってくるか、あるいは、しばらくフィードバックが返って来ないまま一定の時間が経過することとなる(やがて、タイムアウトとなる)。
It is assumed that the cloud platform that has received the feedback 6 tries to find out the power of the cup on the database, but cannot find it. Then, from the robot,

Feedback 6: “I do n’t know how much I should hold this glass.”

The same feedback will be returned, or a certain time will elapse without feedback for a while (it will time out).

この場合、クラウドプラットフォームでは、サービス2Bは、行き詰ったと判断し、一例としてサービス2Bを消滅させたあとに、新たなサービス3Cを生成する。サービス3Cは、クラウドプラットフォームが他のプラットフォームに問い合わせたか、他のユーザ(人間)に問い合わせた結果に基づいて検証した結果、新たなサービスコールとして生成されたものであり、ロボットに送信される。

3C:「そのコップを0.5N以上0.9N未満の力で持ちなさい」
In this case, in the cloud platform, it is determined that the service 2B has reached a dead end, and as an example, after the service 2B has disappeared, a new service 3C is generated. The service 3C is generated as a new service call as a result of verification based on the result of the cloud platform inquiring another platform or the other user (human), and is transmitted to the robot.

3C: “Hold the cup with a force of 0.5N or more and less than 0.9N”

そして、レイヤ3のサービス3Cをハイレベル・サービスとして、レイヤ4におけるローレベルとなるサービス4Aが存在する。

4A:「(画像を送信するとともに)この位置を持っていいですか?」

これは、ロボットからクラウドプラットフォームへのサービスコールである。ここでは、クラウドプラットフォームからロボットへは、No(偽)のバイナリ応答が返されるとする(その位置は、特に壊れやすい部分であるなどの理由による)。
Then, there is a service 4A at a low level in the layer 4 with the service 3C of the layer 3 as a high level service.

4A: “Can I have this position (with sending image)?”

This is a service call from the robot to the cloud platform. Here, it is assumed that a binary response of No (false) is returned from the cloud platform to the robot (for the reason that the position is particularly fragile).

このようにして、ロボットは、正しい位置を正しい力に持ち始め、次のようなフィードバック7〜9を逐次クラウドプラットフォームに返す。

フィードバック7:「いま、0.5Kgで握っています」
フィードバック8:「いま、0.8Kgで握っています」
フィードバック9:「いま、コップが持ち上がりました」

(この時点で、バイナリ応答として「真」が返される。タスクの完了である)
In this way, the robot starts to have the correct position at the correct force, and sequentially returns the following feedbacks 7 to 9 to the cloud platform.

Feedback 7: “I'm holding at 0.5kg”
Feedback 8: “Now hold at 0.8Kg”
Feedback 9: “Now the cup is lifted”

(At this point, “true” is returned as a binary response. The task is complete.)

次に、ロボットは、レイヤ2のサービス2C(コップを持ったまま帰って来なさい)を実行し、次のようなフィードバック10〜14を逐次クラウドプラットフォームに返す。

フィードバック10:「いま、方向転換しました。」
フィードバック11:「現在、(X,Y)にいます。帰還地点まで、15mです。」
フィードバック12:「現在、(X,Y)にいます。帰還地点まで、8mです。」
フィードバック13:「現在、(X,Y)にいます。帰還地点まで、3mです。」
フィードバック14:「いま帰還しました。」

(この時点で、バイナリ応答として「真」が返される。タスクの完了である)
Next, the robot executes the service 2C of layer 2 (return with a cup) and sequentially returns the following feedback 10 to 14 to the cloud platform.

Feedback 10: “We have changed direction now.”
Feedback 11: “I'm currently at (X 1 , Y 1 ).
Feedback 12: “I'm currently at (X 2 , Y 2 ).
Feedback 13: “I'm currently at (X 3 , Y 3 ).
Feedback 14: “I'm back now.”

(At this point, “true” is returned as a binary response. The task is complete.)

また、図示しないが、別の事例として、「外泊出張をしている主人の自宅の安全を確保するセキュリティシステム」を挙げることができる。その場合の各レイヤ及び各サービスの構成は、次のとおりである。   Although not shown, another example is a “security system that ensures the safety of the home of the husband who is on a business trip.” The configuration of each layer and each service in that case is as follows.

レイヤ001(次の終局ゴールが存在する)
001G:外泊出張をしている主人の自宅の安全を確保する
Layer 001 (the next final goal exists)
001G: Ensure the safety of the husband who is on a business trip

レイヤ002(001Gから派生した次の3つのサービスが存在する)
002A:泥棒に入られないこと(不審人物のチェック)
002B:火事に遭わないこと(隣家のチェックも含む)
002C:台風やハリケーンによる被害を防ぐこと(気象情報のチェックなど)
Layer 002 (there are the following three services derived from 001G)
002A: Do not enter the thief (check for suspicious persons)
002B: Do not encounter fire (including checking neighbors)
002C: Prevent damage from typhoons and hurricanes (check weather information, etc.)

レイヤ003(002Aから派生した次のサービスが存在する)
003A:家の中を巡回しなさい
Layer 003 (the next service derived from 002A exists)
003A: Go around the house

レイヤ004(003Aから派生した次の3つのサービスが存在する)
004A:ルートAで家の中を巡回しなさい
004B:ルートBで家の中を巡回しなさい
004C:ルートCで家の中を巡回しなさい
Layer 004 (there are the following three services derived from 003A)
004A: Go around the house on Route A 004B: Go around the house on Route B 004C: Go around the house on Route C

図9に、本発明の一実施形態にかかるクラウドロボティックスシステムの動作例を示す。理解の容易のために、上記の(「外泊出張をしている主人の自宅の安全を確保する」ためにクラウドロボティックスが実行するモデル)に基づいて、さらに具体的に説明する。また、この実施例におけるロボットが実装しているカメラデバイスの前提について、簡単に説明する。   FIG. 9 shows an operation example of the cloud robotics system according to the embodiment of the present invention. In order to facilitate understanding, a more specific description will be given based on the above (a model executed by cloud robotics to ensure the safety of the home of the husband who is on a business trip). The premise of the camera device mounted on the robot in this embodiment will be briefly described.

(1)まず、同図中のロボットは、ナビゲーション用にRGB−Dカメラ(センサ)を実装しているものとする。このRGB−Dカメラ(センサ)からは、(a)RGBイメージ、(b)深度情報、の二つのデータがストリーミングされる。これらのストリーミングデータは、ロボットを移動させるための「ナビゲーションサービス」において使用される。
(2)次に、移動環境において太陽光の影響を強く受けた場合には、センサからは空の値が送信されてくる。失敗検出サブルーチンは、この状態を(失敗として)検知する。
(3)救助要請ルーチンは、必要に応じて他のユーザへの救助要請を行うことができる。例えば、特定のユーザに対してこのロボットの遠隔制御を許可するなどである。許可されたユーザは、RGBイメージストリームだけを頼りに(つまり、深度情報無しで)、人間としての経験を活かしてこのロボットを遠隔制御する。
(1) First, it is assumed that the robot in the figure has an RGB-D camera (sensor) mounted for navigation. From this RGB-D camera (sensor), two data of (a) RGB image and (b) depth information are streamed. These streaming data are used in a “navigation service” for moving the robot.
(2) Next, when the mobile environment is strongly influenced by sunlight, an empty value is transmitted from the sensor. The failure detection subroutine detects this state (as failure).
(3) The rescue request routine can make a rescue request to another user as necessary. For example, a specific user is allowed to remotely control the robot. An authorized user relies solely on the RGB image stream (i.e., without depth information) to remotely control the robot using his human experience.

また、動作の概要を説明すると、同図中、時刻t1〜t4までは、ロボットがルートAを巡回中に窓越しに発見した、ロボット自身が見たことのない人物の訪問についての問い合わせを行う動作例を示す。具体的には、その人物画像とともにクラウドプラットフォームへサービスコールをする。   In addition, the outline of the operation will be described. In the figure, from time t1 to t4, an inquiry is made about a visit of a person who the robot has discovered through the window while traveling around route A and has not seen the robot itself. An operation example is shown. Specifically, a service call is made to the cloud platform together with the person image.

そして、同図中、時刻t5〜t11までは、ロボットがルートBを巡回中に、ちょうど太陽光の差し込みや反射によるカメラの不具合(サチレーション現象)を起こし、前へ進めなくなったか、あるいは、無理に動くと危険な状態となった場合の救済措置を示す。具体的には、かかるトラブルに陥ったロボットは、クラウドプラットフォームに対し、RGB情報は取得できるがD情報(深度情報)が取得できないので動けない(移動不可)というフィードバックを返す。この場合、クラウドプラットフォームでは、例えば、RGBイメージのみでロボットを移動させる制御プログラムを有していればこのプログラムを起動してクラウド側からロボットを制御するが、さもなければ、広くユーザに問い合わせを行う。そして、この問い合わせに対し、複数のユーザからの提案があった場合、クラウドプラットフォームはそれらの提案を検証して、一例として、1人のユーザにロボットのテレオペレーションを許可する。ロボットは、ユーザのテレオペレーションにより、カメラの調整と共に、飛行ルートの変更(太陽光の影響を受けないような高度に変更など)を行い、トラブルを解消する。その操作内容や改善状況は学習され、次の日にも活用される。つまり、次の日に、ルートBを巡回するロボットは、同じ時刻に同じ位置に差し掛かった時に、前日と同じようにカメラが太陽光の差し込みや反射で見えなくなるというトラブルに遭遇するが、前日の学習の結果、適切なカメラ調整及び/又は飛行高度の変更を行い、このトラブルを上手く回避する。   In the same figure, from time t5 to t11, while the robot patrolled Route B, a camera malfunction (saturation phenomenon) occurred due to sunlight insertion or reflection, or it was not possible to move forward. Indicates remedies in case of danger when moved. Specifically, the robot in such a trouble returns feedback to the cloud platform that RGB information can be acquired but D information (depth information) cannot be acquired, so it cannot move (cannot move). In this case, in the cloud platform, for example, if there is a control program for moving the robot using only the RGB image, this program is started to control the robot from the cloud side. . When there are proposals from a plurality of users in response to this inquiry, the cloud platform verifies those proposals and, as an example, permits one user to perform a robot teleoperation. The robot adjusts the camera and changes the flight route (changes the altitude so as not to be affected by sunlight) by the user's teleoperation to solve the trouble. The contents of the operation and the improvement status are learned and used on the next day. In other words, on the next day, the robot that circulates Route B encounters the trouble that the camera becomes invisible due to sunlight insertion or reflection when it reaches the same position at the same time. As a result of learning, an appropriate camera adjustment and / or change of the flight altitude is performed, and this trouble is successfully avoided.

図9の時刻t1において、クラウドプラットフォームからロボットへサービスコール1(「ルートAで家の中を巡回しなさい」というリクエスト)が送信される(ステップS901)。   At time t1 in FIG. 9, a service call 1 (a request to “travel around the house on route A”) is transmitted from the cloud platform to the robot (step S901).

次に、時刻t1〜t2において、ロボットにてリクエストが実行され、逐次フィードバックがクラウドプラットフォームに送られる(ステップS902)。例えば、ロボットは主人の自宅の内部を警備し、一定時間ごとにプラットフォームへ自身の位置と周囲の状況とを報告する。   Next, at time t1 to t2, a request is executed by the robot, and sequential feedback is sent to the cloud platform (step S902). For example, the robot guards the inside of the master's home and reports its position and surrounding conditions to the platform at regular intervals.

時刻t2になると、ロボット自身では解析できない人物の訪問があったので、クラウドプラットフォームに対し、屋内から窓越しに撮影した画像の解析を依頼する(ステップS903のサービスコールA)。例えば、ロボットは、見慣れない制服を着た人物を「もしかしたら不審者ではないか」という疑問をもって、その人物の画像(動画像でも良い)をクラウドプラットフォーム送信するとともに画像認識等の解析を依頼する。   At time t2, since there was a visit of a person who cannot be analyzed by the robot itself, the cloud platform is requested to analyze the image taken from the window through the window (service call A in step S903). For example, a robot asks a person wearing an unfamiliar uniform with the question of “possibly a suspicious person” and sends an image of the person (which may be a moving image) to the cloud platform and requests analysis such as image recognition. .

時刻t2〜t3まで、クラウドプラットフォームにて、ロボットから送られてきた画像(ないし動画像)に対する物体認識処理等を実施し、画像に写しこまれた人物が正規のポストマン(postman)であることを認識する。見慣れない制服を着た人物でも「正当な訪問者の来訪は認める(ので、特に警戒措置は採らない)」との判断をする(ステップS904)。   From time t2 to t3, object recognition processing is performed on the image (or moving image) sent from the robot on the cloud platform, and the person captured in the image is a regular postman Recognize It is determined that even a person wearing an unfamiliar uniform “accepts a legitimate visitor (and therefore does not take any special precautions)” (step S904).

時刻t3になると、クラウドプラットフォームでの解析処理が完了し、ロボットへバイナリ応答が返信される(ステップS906)。この場合、特に問題が無いので、真(True)が返される。   At time t3, the analysis processing on the cloud platform is completed, and a binary response is returned to the robot (step S906). In this case, since there is no particular problem, True is returned.

時刻t3〜t4まで、ロボットにてサービスコール1のサービス(ルートAの巡回)が継続され、逐次フィードバックがクラウドプラットフォームに送られる(ステップS907)。   From time t3 to t4, the service of service call 1 (circulation of route A) is continued by the robot, and successive feedback is sent to the cloud platform (step S907).

時刻t4になると、ルートAの巡回が終わったので、ロボットはクラウドプラットフォームに完了報告を行う(真(True)のバイナリ応答が返される)。   At time t4, since the route A has ended, the robot reports completion to the cloud platform (a true binary response is returned).

時刻t4において、クラウドプラットフォームでは、今回のロボットとのやりとりから得た新たなデータが集積及び保存され(ステップS909)、データベースの再構築が実施される(ステップS910)。   At time t4, the cloud platform accumulates and stores new data obtained from the current interaction with the robot (step S909), and the database is reconstructed (step S910).

次に、時刻t5以降は、クラウドプラットフォームがヘルプを必要とする場合の動作例を示す。   Next, after time t5, an operation example when the cloud platform needs help is shown.

まず、時刻t5において、クラウドプラットフォームからロボットへサービスコール2(ルートBで家の中を巡回しなさい)が送信される(ステップS951)。   First, at time t5, service call 2 (go around the house on route B) is transmitted from the cloud platform to the robot (step S951).

時刻t5〜t6まで、ロボットにてリクエストが実行され、逐次フィードバックがクラウドプラットフォームに送られる(ステップS952)。例えば、ロボットは、主人の自宅の内部を警備し、一定時間ごとにプラットフォームへ自身の位置と周囲の状況とを報告する。   From time t5 to t6, a request is executed by the robot, and a sequential feedback is sent to the cloud platform (step S952). For example, the robot guards the inside of the master's home and reports its position and surrounding conditions to the platform at regular intervals.

時刻t6になると、ルートBに沿って家の中を巡回しているロボットが、太陽光の差し込みや反射などにより視界が遮られ、何も見えなくなり前進することが困難となったので、RGB情報は取得できるがD情報(深度情報)が取得できないので動けない(移動不可)というフィードバックをクラウドプラットフォームへ返す(ステップS953)。   At time t6, it is difficult for the robot traveling around the house along the route B to block the field of view due to the insertion or reflection of sunlight and to move forward with nothing visible. Can be acquired, but D information (depth information) cannot be acquired, so feedback is returned to the cloud platform that it cannot move (cannot move) (step S953).

時刻t6〜t7まで、クラウドプラットフォームにて、ロボットからのフィードバックに応じてデータベースを参照するなどして(例えば、RGBイメージのみでロボットを移動させる制御プログラムがあればそれを起動して)解決を試みるが、適切な処置が見つからない(ステップS954)。   From time t6 to t7, attempt to solve the problem by referring to the database in response to feedback from the robot on the cloud platform (for example, starting a control program that moves the robot using only RGB images) However, no appropriate treatment is found (step S954).

そこで、時刻t7において、クラウドプラットフォームは、他のクラウドプラットフォームか、あるいは、他のユーザ(人間)に対するヘルプ要請が必要と判断する。   Therefore, at time t7, it is determined that the cloud platform is another cloud platform or that a help request for another user (human) is necessary.

次に、時刻t7〜t8まで、クラウドプラットフォームは、どのような問い合わせをすれば良いか等の検討処理を行う(ステップS955)。例えば、他のクラウドプラットフォーム(例えば、図6の650)に問い合わせるか、あるいは、後述するように広くユーザ(人間)に問い合わせするかなどである。   Next, from time t7 to t8, the cloud platform performs examination processing such as what kind of inquiry should be made (step S955). For example, whether to make an inquiry to another cloud platform (for example, 650 in FIG. 6), or to make an inquiry to a user (human) widely as described later.

時刻t8において、クラウドプラットフォームは、第三者(他の人間のユーザ)に広く問い合わせる方が良いと判断し、クラウドプラットフォームとネットワークを介して接続され得る多くのユーザ端末(情報処理装置)に問い合わせを行う(ステップS956)。
例えば、ロボットから送られた位置及び経路地図、現場の画像ないし映像等を配信し、「この状態でロボットはどのように進めば良いでしょうか?」といった問い合わせを行う。このとき、必要に応じて、プライバシを確保するための処理が施される(図13〜図14を参照して後述する)。
At time t8, the cloud platform determines that it is better to make a wide inquiry to third parties (other human users), and makes an inquiry to many user terminals (information processing devices) that can be connected to the cloud platform via the network. This is performed (step S956).
For example, the position and route map sent from the robot, the image or video of the site, etc. are distributed, and an inquiry such as “How should the robot proceed in this state?” Is made. At this time, processing for ensuring privacy is performed as necessary (described later with reference to FIGS. 13 to 14).

ここで、ロボットが自身の移動のために使用するカメラは、深度情報を得られる単体のRGB−Dカメラないしセンサであり、上述の太陽光の反射等によるフレアが起こった場合には、この深度情報が得られなくなる。一方で、通常のRGBカメラから得られるRGBイメージについては、上述のフレアの影響がさほど大きくない場合があり、こうした場合に、通常のRGBイメージによる現場の画像ないし映像等を他のユーザ(人間)が見て状況判断可能であることは、充分に期待できる。   Here, the camera used by the robot for its own movement is a single RGB-D camera or sensor that can obtain depth information, and when the flare caused by the reflection of sunlight described above occurs, this depth is used. Information cannot be obtained. On the other hand, an RGB image obtained from a normal RGB camera may not be significantly affected by the flare described above. In such a case, an on-site image or video by the normal RGB image may be displayed by another user (human). It can be fully expected that the situation can be judged by seeing.

時刻t8〜t9まで、クラウドプラットフォームからの問い合せに対し、1以上のユーザから回答あるいはアドバイスが返される(ステップS957)。例えば、「カメラ(RGB−Dセンサ)をこのように調整すれば良い」とか、「こういったルートで進めば良い」とか、「高度を下げると太陽光の影響は少なくなる」などといったアドバイスが送られてくる。   From time t8 to t9, answers or advice are returned from one or more users in response to inquiries from the cloud platform (step S957). For example, advice such as “just adjust the camera (RGB-D sensor) in this way”, “you only have to follow this route”, or “the effect of sunlight decreases with decreasing altitude”. Will be sent.

次に、時刻t9〜t10まで、クラウドプラットフォームでは、時刻t8〜t9までに寄せられた1以上のユーザからのアドバイスを検証し(ステップS958)、その内の1人のユーザPに対してテレオペレーションを許可する(ステップS959)。   Next, from time t9 to t10, the cloud platform verifies advice from one or more users sent from time t8 to t9 (step S958), and teleoperation is performed for one of the users P. Is permitted (step S959).

時刻t10〜t11まで、テレオペレーションを許可されたユーザPは、ロボットをテレオペレートしてトラブルを回避する(ステップS960)。例えば、ロボットのカメラの調整を行い、あるいは、飛行高度を適切に下げるなどして、ロボットの(RGB−Dセンサによる)視界を良好にし、そのエリアの移動をユーザによる手動で切り抜ける。   From time t10 to time t11, the user P who is permitted to perform teleoperation teleoperates the robot to avoid trouble (step S960). For example, the robot's camera is adjusted or the flight altitude is appropriately lowered to improve the visibility of the robot (by the RGB-D sensor), and the movement of the area is manually cut by the user.

次に、時刻t11において、ロボットからクラウドプラットフォームへトラブルを無事に回避したことが報告される(ステップS961)。クラウドプラットフォームでは、これまでに集積した情報を新たな知識として整理及び記憶され(ステップS962)、必要に応じてデータベースが再構築される(ステップS963)。   Next, at time t11, it is reported that the trouble has been safely avoided from the robot to the cloud platform (step S961). In the cloud platform, information accumulated so far is organized and stored as new knowledge (step S962), and a database is reconstructed as necessary (step S963).

例えば、クラウドプラットフォームでは、今回ロボットがトラブルに陥った日時や場所、及びトラブルの状況(深度情報が空の値になったこと。つまり、太陽光による影響を強く受けたこと)、並びに、このトラブルに対して他のユーザが取った措置(カメラの設定を変えたとか、飛行高度を変えたなどの操作履歴)をデータベース化して、検索可能に保存する。   For example, in the cloud platform, the date and place where the robot fell into trouble this time, the situation of the trouble (depth information became empty, that is, it was strongly affected by sunlight), and this trouble Measures taken by other users (operation histories such as changing camera settings or changing flight altitude) are stored in a database so that they can be searched.

クラウドプラットフォームにおける上述のステップS962〜ステップS963までの処理(学習処理)によって、ロボットは(他のロボットであっても)、翌日同じ時間帯に同じエリアを通過する場合であっても、既にデータベースには、同じ様な状況でのトラブル回避方法がデータベース化されているので、今回と同じようなトラブルに見舞われることなく、学習内容に基づいて事前にRGB−Dセンサの調整や飛行高度などを適切に変更するなどしてこのエリアを無事に通過することができる。   Through the processing (learning processing) from step S962 to step S963 described above in the cloud platform, the robot (even if it is another robot) is already in the database even if it passes the same area at the same time zone the next day. Since the trouble avoiding method in the same situation has been made into a database, the RGB-D sensor adjustment and the flight altitude are appropriately adjusted in advance based on the learning content without suffering the same trouble as this time You can safely pass through this area by changing to

図10は、本発明の一実施形態にかかるクラウドロボティックスシステムのアプリケーション例を示す。   FIG. 10 shows an application example of a cloud robotics system according to an embodiment of the present invention.

図10(A)では、2台のカメラ付きロボット1001、1002が、相互に連携をとって、ルーム1003の3次元空間データを収集し、クラウドプラットフォーム上に仮想空間を構築していく様子を示している。同図中、白い部分(白く欠けている部分)は、ロボット1001ないし1002によるキャプチャが未だ行われていない部分である。カメラ付きロボット1001または1002が一度キャプチャした部分については、基本的に他方のロボットによるキャプチャは不要である。
したがって、2台より3台、3台より4台のロボットによるキャプチャ作業を行ったほうが、全体の仮想空間を早く構築できる。
FIG. 10A shows how two robots with cameras 1001 and 1002 collaborate to collect the three-dimensional space data of the room 1003 and build a virtual space on the cloud platform. ing. In the figure, white portions (portions lacking in white) are portions that have not yet been captured by the robots 1001 to 1002. The part captured once by the camera-equipped robot 1001 or 1002 basically does not need to be captured by the other robot.
Therefore, the entire virtual space can be constructed more quickly by performing the capture operation with three robots than three and four robots than three.

次に、図10(B)では、図示しない多数のカメラ付きロボットが、ある建物の構内を相互に連携しながら迷路のようになっている構内の3次元構造をクラウドプラットフォーム上に構築している様子を示す。同図では、構内のあるフロアの構造が部分的に解析されており、ほぼ平行に配置される通路1011、1012と、通路1011、1012と連結するルーム1013、並びに、他の通路1014〜1016の構造解析が進められている。   Next, in FIG. 10B, a large number of robots with cameras (not shown) build a three-dimensional structure on the cloud platform that looks like a maze while mutually linking the buildings. Show the state. In the figure, the structure of the floor on the premises is partially analyzed, and the passages 1011 and 1012 arranged substantially in parallel, the room 1013 connected to the passages 1011 and 1012, and the other passages 1014 to 1016. Structural analysis is ongoing.

図10(B)では、通路1014及び1015は、仕切りを介して分断されていることが分かっている。一方で、通路1015及び1016は、仕切りなしに連通していることが分かっている。多数のカメラ付きロボットによる解析は継続され、通路1014と1015との間にある仕切りには開閉可能なドアが存在することが判明するかもしれないし、他の通路同士の接続関係も明らかになっていくであろう。   In FIG. 10B, it is known that the passages 1014 and 1015 are divided through a partition. On the other hand, it is known that the passages 1015 and 1016 communicate with each other without a partition. Analysis by a large number of robots with cameras will continue, and it may be found that there is a door that can be opened and closed in the partition between the passages 1014 and 1015, and the connection relationship between other passages has also become clear. Will go.

各ロボットから収集されたデータは、クラウドプラットフォームに収集されて、構内の3次元構造データとして整理・保存されていく。   Data collected from each robot is collected in a cloud platform and organized and stored as 3D structure data on the premises.

図11及び図12は、本発明の他の実施形態にかかるクラウドロボティクスシステムのアプリケーション例を示す。具体的には、ある構内をロボットが探索し、入口(Start)から出口(Goal)までの道順(行き方)をクラウドプラットフォーム上にてデータベース化しようとして迷子になり、ユーザ(人間)による救助(ヘルプ)を受ける様子が示されている。   11 and 12 show examples of applications of a cloud robotics system according to another embodiment of the present invention. Specifically, a robot searches a certain premises, gets lost when trying to create a database on the cloud platform for directions from the start (Start) to the exit (Goal), and is rescued by the user (human) (help) ) Is shown.

なお、図11及び図12に示されたアプリケーション例は、あくまで本発明の理解のために、あえて2次元モデルに基づいて説明されている。つまり、現在のコンピュータのパフォーマンスならば、かかる2次元の迷路の探索を行ってロボットを確実に入口(Start)から出口(Goal)まで誘導することは容易いことである。現実的には、各フロアが複雑な迷路のような構造になった高層ビルの中を1階から高層階のある地点までロボットに探索させるような事例が適切と言えるかもしれない(計算量は、2次元の場合と比べて指数関数的に増大するため)。
しかしながら、この実施例では、あくまで本発明の理解のために、簡素化された2次元モデルに基づいて説明を進める。
Note that the application examples shown in FIGS. 11 and 12 are described based on a two-dimensional model for the sake of understanding of the present invention. In other words, with the current computer performance, it is easy to search the two-dimensional maze and reliably guide the robot from the start (Start) to the exit (Goal). Realistically, it may be appropriate to let the robot search from the first floor to a point on the higher floor in a high-rise building where each floor has a complex maze-like structure (the amount of calculation is Because it increases exponentially compared to the two-dimensional case).
However, in this embodiment, the description will proceed based on a simplified two-dimensional model for the sake of understanding of the present invention.

まず、図11(A)には、ある構内をロボットが探索し、入口(Start)から出口(Goal)までの道順(行き方)をクラウドプラットフォーム上にてデータベース化しようとして、地点Kで行き止ってしまった様子が示されている(×印がロボットの現在位置である)。
ロボットは、地点Kにおいて、クラウドプラットフォームに対し、「ここから先への道順が分かりません」とのフィードバックを返す。
First, in FIG. 11 (A), a robot searches for a certain premises and tries to create a database on the cloud platform on the route from the entrance (Start) to the exit (Goal). The state of being closed is shown (the cross indicates the current position of the robot).
At point K, the robot returns feedback to the cloud platform that “I don't know where to go from here”.

クラウドプラットフォームでは、ロボットのフィードバックに基づいて、ロボットが迷子になったものと判断する(一例として、同じフィードバックを返してくるか、一定時間内に次のフィードバックが返されないことなどにより判断)。   In the cloud platform, it is determined that the robot is lost based on the feedback of the robot (for example, the same feedback is returned or the next feedback is not returned within a certain time).

クラウドプラットフォームでは、自身のデータベースにより、この構内についての他の情報を検索するが見当たらず、他のクラウドプラットフォームに問い合わせるが、それでも有益な情報は得られないものとする。   The cloud platform searches its own database for other information about this premises, but cannot find it, but queries other cloud platforms, but still does not provide useful information.

そこで、クラウドプラットフォームは、他のユーザ(人間)に救済を要請することを決定する。   Therefore, the cloud platform determines to request relief from another user (human).

次に、クラウドプラットフォームは、ロボットから提供されたデータに基づいて構築した地図と、これまでのロボットの探索によって作成した道順(図11(A)中のStartから地点A→B→C→D→E→F→G→H→I→J→Kへと続く点線の経路)とが示された視覚情報を1以上のユーザの端末(情報処理装置)へ送る。   Next, the cloud platform uses a map constructed based on the data provided by the robot and the route created by searching for the robot so far (from the Start in FIG. 11A to the point A → B → C → D → Visual information indicating E → F → G → H → I → J → K) is sent to one or more user terminals (information processing devices).

クラウドプラットフォームから問い合わせを受けた1以上のユーザは、自身の端末(情報処理装置)のディスプレイ上に示される、地図、ロボットの現在位置及びロボットのこれまでの経路(図11(A))に対し、アドバイスをする。   One or more users who have received inquiries from the cloud platform have a map, the current position of the robot, and the route of the robot (FIG. 11A) shown on the display of their terminal (information processing device). Give advice.

このアドバイスは、ユーザにとって必ずしも強制的なものではないが、アドバイスによってある種のポイントを付与したり、ゲーミフィケーションの要素を実装したりすることにより、アドバイスの件数を増やすことができるであろう。   This advice is not necessarily compulsory for the user, but it can increase the number of advice by giving certain points or implementing elements of gamification. .

図11(B)には、ユーザが道順ないし経路を直接操作によってアドバイスする場合の例が示されている。同図において、ユーザは、自身の端末に表示された視覚情報(視覚データ)のうち、ロボットのこれまでの経路に対して、直接操作により、さらに適切な経路となるように修正してアドバイスすることができる。   FIG. 11B shows an example where the user advises a route or route by direct operation. In the figure, the user corrects and advises the robot's previous route in the visual information (visual data) displayed on his / her terminal so that the route becomes a more appropriate route by direct operation. be able to.

例えば、経路うちの辺の途中の点1101を指示して上下に移動させたり、他の点1102を左右に移動させたり、経路のうちの途中の他の点1103を指示して、斜め方向に上下左右に移動させたり、終点1104を指示して上下左右に移動させるなどである。   For example, a point 1101 in the middle of the path is indicated and moved up and down, another point 1102 is moved left and right, or another point 1103 in the middle of the path is indicated in an oblique direction. For example, it can be moved up, down, left and right, or it can be moved up, down, left and right by indicating the end point 1104.

この他にも、ユーザは、経路中の任意の点をつまんで移動させたり、延長/短縮したりすることにより、新たな経路を再構成してクラウドプラットフォーム(あるいはロボット)へのアドバイスとすることができる。   In addition to this, the user can reconfigure a new route by picking and moving any point in the route or extending / shortening it to give advice to the cloud platform (or robot). Can do.

なお、この事例では、2次元平面における経路データの編集ないし修正例にフォーカスして説明したが、もし、3次元空間における経路データを編集ないし修正する場合には、3Dジェスチャーインタフェースを介した体感的かつ直接的な指示方法を採用することもできる。   In this example, the explanation is focused on the editing or correction of the route data in the two-dimensional plane. However, if the route data in the three-dimensional space is edited or corrected, it can be experienced through the 3D gesture interface. A direct instruction method can also be adopted.

図12(A)〜(C)には、図11(A)に示される視覚情報に対し、図11(B)に例示された編集ないし修正方法によって他のユーザからアドバイスされてきた様々な経路が示されている。
クラウドプラットフォームでは、これらのアドバイスを検証して、どのアドバイスが最も適切かを判断し、最適なアドバイスをロボットに送信する。また、必要に応じて最適なアドバイスをしたユーザに対して、迷子になったロボットのテレオペレーションを許可することもできる。
12A to 12C show various routes that have been advised by other users for the visual information shown in FIG. 11A by the editing or correction method illustrated in FIG. 11B. It is shown.
The cloud platform verifies these advices, determines which advice is most appropriate, and sends the optimal advice to the robot. It is also possible to permit teleoperation of a lost robot to a user who has given optimum advice as necessary.

図12(A)では、図11(A)に示された経路がユーザU1によって修正され、Startから地点A→B→C→D→E→F→G→H→Nへと続く点線の経路が最適なルートとしてアドバイスされている。   In FIG. 12 (A), the route shown in FIG. 11 (A) is corrected by the user U1, and the dotted line route from Start to points A → B → C → D → E → F → G → H → N Has been advised as the best route.

クラウドプラットフォームでは、ユーザU1によるこのアドバイスを検証し、例えば、これまでに構築された構内データを参照して、今回新たに示された経路の状況を検証し、例えば、地点H〜Nまでの通路には階段があり(同図中、一点破線で段差を表現したエリアである)、この区間は現在迷子になっているロボットのスペックでは走行ができないことを導き出す。
この場合、図12(A)に示された経路は、採用されない。
In the cloud platform, this advice from the user U1 is verified, for example, the status of the route newly shown this time is verified by referring to the premises data constructed so far, for example, the path to the points H to N There is a staircase (in this figure, it is an area that expresses a step with a one-dot broken line), and this section derives that it cannot run with the specifications of the robot that is currently lost.
In this case, the route shown in FIG. 12A is not adopted.

次に、図12(B)では、図11(A)に示された経路がユーザU2によって修正され、Startから地点A→B→C→L→M→Nへと続く点線の経路が最適なルートとしてアドバイスされている。   Next, in FIG. 12 (B), the route shown in FIG. 11 (A) is corrected by the user U2, and the dotted line route from Start to the points A → B → C → L → M → N is optimal. Advised as a route.

クラウドプラットフォームでは、ユーザU2によるこのアドバイスを検証し、例えば、これまでに構築された構内データを参照して、今回新たに示された経路の状況を検証し、例えば、地点C〜Lまでの通路の幅は、ロボットの幅よりも狭いので、この区間は走行できないことを導き出す。
この場合、図12(B)に示された経路は、採用されない。
In the cloud platform, this advice from the user U2 is verified, for example, the status of the route newly shown this time is verified with reference to the premises data constructed so far, for example, the path to the points C to L Since the width of is narrower than the width of the robot, it is derived that this section cannot be run.
In this case, the route shown in FIG. 12B is not adopted.

次に、図12(C)では、図11(A)に示された経路がユーザU3によって修正され、Startから地点A→B→C→D→E→F→M→Nへと続く点線の経路が最適なルートとしてアドバイスされている。   Next, in FIG. 12 (C), the route shown in FIG. 11 (A) is modified by the user U3, and the dotted line that continues from Start to the points A → B → C → D → E → F → M → N The route is advised as the best route.

クラウドプラットフォームでは、ユーザU3によるこのアドバイスを検証し、例えば、これまでに構築されたデータを参照して、今回新たに示された経路の状況を検証し、特に問題点は見当たらないことが確認される。   In the cloud platform, this advice from the user U3 is verified, for example, by referring to the data constructed so far, the status of the route newly shown this time is verified, and it is confirmed that there is no particular problem. The

そうして、図12(C)に示された経路が採用されてロボットへ送信される。ロボットは、クラウドプラットフォームから送られた経路(図12(C)の経路)に従って、無事に出口(Goal)に到達することができる。
なお、クラウドプラットフォームは、必要に応じて、適宜ユーザU3に対してこのロボットのテレオペレーションを許可することができる。
Then, the route shown in FIG. 12C is adopted and transmitted to the robot. The robot can safely reach the exit (Goal) according to the route sent from the cloud platform (the route in FIG. 12C).
Note that the cloud platform can permit the user U3 to teleoperate the robot as necessary.

図13及び図14は、さらに他のアプリケーション例を示すが、特に、クラウドプラットフォームから他のユーザに示される画像の少なくとも一部を加工し、画像に含まれる物体や人物のプライバシを保護する例を示している。   FIGS. 13 and 14 show still other application examples. In particular, an example of processing at least a part of an image shown to other users from the cloud platform and protecting the privacy of an object or person included in the image. Show.

図13(A)は、ある建物の入口(ドア)1319が写し込まれた画像131である。ドア1319の左には、プレート1311が設置されている。クラウドプラットフォームは、ロボットがこのドアの開け方が分からずに問い合わせを受け、自身でも解決できずに、この画像を多くのユーザに送信して、ドアの開け方を問い合わせするために、画像131として切り出している(なお、図13(B)の画像132、図13(C)の画像133は、後述するように画像131の一部を加工したものである)。   FIG. 13A shows an image 131 in which an entrance (door) 1319 of a building is copied. A plate 1311 is installed on the left side of the door 1319. The cloud platform receives an inquiry without knowing how to open the door, and the image is sent as an image 131 to inquire about how to open the door by sending this image to many users without being able to solve it. (The image 132 in FIG. 13B and the image 133 in FIG. 13C are obtained by processing a part of the image 131 as described later).

図13(A)に示された画像131は、一切加工されていない画像であるのに対し、図13(B)に示された画像132は、プライバシ保護のため、プレート部分にモザイク処理1321が施されている。さらに、ドア1329は、実際のドア1311の色(青)とは異なる着色処理(例えば、緑)が施されている。
また、図13(C)に示された画像133は、ドア1339以外の物体や部分等に対しては、問い合わせ事項には直接関係ないものとして、隠ぺい処理1331及び1332が施されている。この隠ぺい処理は、隠ぺいの対象となるエリアの透過度を変えることのほか、図13(B)のようなモザイク処理をしたり、他の模様で完全に隠ぺいしたりするなど、様々な加工を行うことができる。
また、上述のように、ユーザに見せるドアの色を変えたり、他のオブジェクトの色を実際の色とは異なる色に着色したりすることもできる。
The image 131 shown in FIG. 13A is an unprocessed image, whereas the image 132 shown in FIG. 13B has mosaic processing 1321 applied to the plate portion for privacy protection. It has been subjected. Further, the door 1329 is subjected to a coloring process (for example, green) different from the actual color (blue) of the door 1311.
In addition, the image 133 shown in FIG. 13C is subjected to concealment processing 1331 and 1332 with respect to objects and parts other than the door 1339 as not directly related to the inquiry matter. In addition to changing the transparency of the area to be concealed, this concealment process performs various processes such as mosaic processing as shown in Fig. 13 (B) and complete concealment with other patterns. It can be carried out.
Further, as described above, the color of the door shown to the user can be changed, or the color of another object can be colored different from the actual color.

図14(A)及び(B)は、ある人物が写し込まれた画像である。例示的に、人物1401は警官であり、人物1411はポストマンである。   FIGS. 14A and 14B are images in which a certain person is imprinted. Illustratively, the person 1401 is a policeman and the person 1411 is Postman.

クラウドプラットフォームは、ロボットがこれらの人物の特定ができずに問い合わせを受け、自身でも解決できずに、この人物画像を多くのユーザに送信して、人物画像1402、1412として切り出している。   In the cloud platform, the robot receives an inquiry without being able to identify these persons, and cannot resolve itself, but sends this person image to many users and cuts out the person images 1402 and 1412.

ここで、図14(A)に示された画像1402では、人物の顔部分にモザイク処理1403が施され、同様に、図1412でも、人物の顔部分にモザイク処理1413が施されている。
このようなモザイク処理により、人物のプライバシが保たれる。もちろん、同図で示したモザイク処理のほか、漫画のキャラクタや動物の顔を覆いかぶせるによる処理をしたり、他の模様で完全に隠ぺいしたりするなど、様々な加工を行うことができる。
Here, in the image 1402 shown in FIG. 14A, a mosaic process 1403 is applied to the face portion of the person, and similarly, in FIG. 1412, the mosaic process 1413 is applied to the face portion of the person.
Such mosaic processing maintains the privacy of the person. Of course, in addition to the mosaic processing shown in the figure, various processing can be performed such as processing by covering the faces of cartoon characters and animals, or completely hiding with other patterns.

以上、具体例に基づき、クラウドロボティクスシステム、情報処理装置等の実施形態を説明したが、本発明の実施形態としては、システム又は装置を実施するための方法又はプログラムの他、プログラムが記録された記憶媒体(一例として、光ディスク、光磁気ディスク、CD−ROM、CD−R、CD−RW、磁気テープ、ハードディスク、メモリカード)等としての実施態様をとることも可能である。   As described above, the embodiments of the cloud robotics system, the information processing apparatus, and the like have been described based on the specific examples. However, as the embodiment of the present invention, the program is recorded in addition to the method or the program for implementing the system or the apparatus. It is also possible to take an embodiment as a storage medium (for example, an optical disk, a magneto-optical disk, a CD-ROM, a CD-R, a CD-RW, a magnetic tape, a hard disk, or a memory card).

また、プログラムの実装形態としては、コンパイラによってコンパイルされるオブジェクトコード、インタプリタにより実行されるプログラムコード等のアプリケーションプログラムに限定されることはなく、オペレーティングシステムに組み込まれるプログラムモジュール等の形態であっても良い。   Further, the implementation form of the program is not limited to an application program such as an object code compiled by a compiler and a program code executed by an interpreter, but may be a form of a program module incorporated in an operating system. good.

さらに、プログラムは、必ずしも制御基板上のCPUにおいてのみ、全ての処理が実施される必要はなく、必要に応じて基板に付加された拡張ボードや拡張ユニットに実装された別の処理ユニット(DSP等)によってその一部又は全部が実施される構成とすることもできる。   Furthermore, it is not always necessary for the program to be executed only by the CPU on the control board, but if necessary, an expansion board attached to the board or another processing unit (DSP or the like) mounted on the expansion unit. ) May be partly or wholly implemented.

本明細書(特許請求の範囲、要約、及び図面を含む)に記載された構成要件の全て及び/又は開示された全ての方法又は処理の全てのステップについては、これらの特徴が相互に排他的である組合せを除き、任意の組合せで組み合わせることができる。   These features are mutually exclusive for all of the components described in this specification (including claims, abstract, and drawings) and / or for all steps of all disclosed methods or processes. Except for the combination, any combination can be used.

また、本明細書(特許請求の範囲、要約、及び図面を含む)に記載された特徴の各々は、明示的に否定されない限り、同一の目的、同等の目的、または類似する目的のために働く代替の特徴に置換することができる。したがって、明示的に否定されない限り、開示された特徴の各々は、包括的な一連の同一又は均等となる特徴の一例にすぎない。   Also, each feature described in the specification (including the claims, abstract, and drawings) serves the same purpose, equivalent purpose, or similar purpose, unless expressly denied. Alternative features can be substituted. Thus, unless expressly denied, each feature disclosed is one example only of a generic series of identical or equivalent features.

さらに、本発明は、上述した実施形態のいずれの具体的構成にも制限されるものではない。本発明は、本明細書(特許請求の範囲、要約、及び図面を含む)に記載された全ての新規な特徴又はそれらの組合せ、あるいは記載された全ての新規な方法又は処理のステップ、又はそれらの組合せに拡張することができる。   Furthermore, the present invention is not limited to any specific configuration of the above-described embodiment. The invention includes all novel features or combinations thereof described in the specification (including claims, abstract and drawings), or all novel methods or process steps described, or Can be extended to any combination.

10 クラウドロボティクスシステム
11 クラウドプラットフォーム
12 タブレット端末(情報処理装置の一形態)
13 携帯電話(情報処理装置の一形態)
14 PC(情報処理装置の一形態)
201a〜201e 飛行型ロボット(ロボットの一形態)
41、42 アクセスポイント(ルータ等)
37、38 通信回線
39 公衆回線(専用線、インターネット等)
10 Cloud Robotics System 11 Cloud Platform 12 Tablet Terminal (One Form of Information Processing Device)
13 Mobile phone (a form of information processing device)
14 PC (One form of information processing device)
201a to 201e flying robot (one form of robot)
41, 42 Access point (router, etc.)
37, 38 Communication line 39 Public line (private line, Internet, etc.)

Claims (18)

クラウドプラットフォームとロボットとを備えるクラウドロボティクスシステムであって、
前記クラウドプラットフォーム及び前記ロボットは、それぞれ、タスクを実行するための共通のインタフェースを有するサービスモジュールを実行するものであり、
前記共通のインタフェースは、少なくともタスクの実行を依頼するためのリクエストと、前記タスクの実行の状況を報告するためのフィードバックとを有し、
前記サービスモジュールのそれぞれは、少なくとも、前記タスクを実行するためのワーキングルーチンと、前記タスクの実行が失敗したかどうかを検出するための失敗検出サブルーチンとを有する
ことを特徴とするシステム。
A cloud robotics system comprising a cloud platform and a robot,
The cloud platform and the robot each execute a service module having a common interface for executing a task,
The common interface has at least a request for requesting execution of a task and feedback for reporting a status of execution of the task,
Each of the service modules includes at least a working routine for executing the task and a failure detection subroutine for detecting whether the execution of the task has failed.
前記システムは、ユーザインタフェースを備えたユーザ端末をさらに備えるとともに、前記サービスモジュールは、外部に救助を要請するための救助要請ルーチンをさらに備え、
前記失敗検出サブルーチンが前記タスクの実行が失敗したことを検出した場合に、前記救助要請ルーチンにより前記ユーザ端末へ救助を要請する
ことを特徴とする請求項1に記載のシステム。
The system further includes a user terminal having a user interface, and the service module further includes a rescue request routine for requesting rescue to the outside.
The system according to claim 1, wherein when the failure detection subroutine detects that the execution of the task has failed, the rescue request routine requests the user terminal to rescue.
前記クラウドプラットフォームは、前記ユーザ端末に対して前記ロボットに対する操作を許可することを特徴とする請求項2に記載のシステム。   The system according to claim 2, wherein the cloud platform permits the user terminal to operate the robot. 前記ロボットに対する操作を許可することは、前記ユーザ端末のディスプレイに示された視覚情報に対する直接操作による操作許可であることを特徴とする請求項3に記載のシステム。   The system according to claim 3, wherein permitting the operation on the robot is an operation permission by direct operation on visual information displayed on a display of the user terminal. 前記ユーザインタフェースは、3Dジェスチャーインタフェースであることを特徴とする請求項2〜4のいずれか1項に記載のシステム。   The system according to claim 2, wherein the user interface is a 3D gesture interface. 前記ユーザインタフェースは、ヘッドマウントディスプレイを含むことを特徴とする請求項2〜5のいずれか1項に記載のシステム。   The system according to claim 2, wherein the user interface includes a head mounted display. 前記救助を要請した前記ユーザ端末から得た情報を検索可能にデータベース化することを特徴とする請求項2〜6のいずれか1項に記載のシステム。   The system according to any one of claims 2 to 6, wherein information obtained from the user terminal that requested the rescue is stored in a database so as to be searchable. 前記データベース化された前記情報は、前記救助を要請することとなった前記ロボットの状況が含まれ、前記情報は、前記状況に陥った他のロボットの救助に利用されることを特徴とする請求項2〜7のいずれか1項に記載のシステム。   The information stored in the database includes a situation of the robot that has requested the rescue, and the information is used for rescue of another robot that falls into the situation. Item 8. The system according to any one of Items 2 to 7. 前記救助要請を行うために前記ユーザ端末に表示させるための画像が送信され、前記画像の少なくとも一部にはプライバシ保護のための処理がなされることを特徴とする請求項2〜8のいずれか1項に記載のシステム。   The image for display on the user terminal is transmitted in order to make the rescue request, and at least a part of the image is processed for privacy protection. The system according to item 1. クラウドプラットフォームとロボットとを備えるクラウドロボティクスシステムで実行されるコンピュータプログラムであって、前記システムで実行されたとき、
前記クラウドプラットフォーム及び前記ロボットに、それぞれ、タスクを実行するための共通のインタフェースを有するサービスモジュールを実行させる処理ステップと、
前記共通のインタフェースを介して、前記サービスモジュールに、少なくともタスクの実行を依頼するためにリクエストさせる処理ステップ、及び前記タスクの実行の状況を報告するためにフィードバックさせる処理ステップと、
を実行し、ここにおいて、
前記サービスモジュールは、ワーキングルーチンに前記タスクを実行させる処理ステップと、失敗検出サブルーチンに前記タスクの実行が失敗したかどうかを検出させる処理ステップとをさらに有するプログラム。
A computer program executed in a cloud robotics system comprising a cloud platform and a robot, and when executed in the system,
Processing steps for causing the cloud platform and the robot to each execute a service module having a common interface for executing a task;
A processing step for causing the service module to make a request for at least requesting execution of a task via the common interface, and a processing step for causing feedback to report the status of execution of the task;
Where:
The service module further includes a processing step for causing the working routine to execute the task, and a processing step for causing the failure detection subroutine to detect whether or not the execution of the task has failed.
前記システムは、ユーザインタフェースを備えたユーザ端末をさらに備えるとともに、前記サービスモジュールは、外部に救助を要請するための救助要請ルーチンをさらに備え、
前記失敗検出サブルーチンが前記タスクの実行が失敗したことを検出した場合に、前記救助要請ルーチンに前記ユーザ端末へ救助を要請させる処理ステップ
をさらに有することを特徴とする請求項10に記載のプログラム。
The system further includes a user terminal having a user interface, and the service module further includes a rescue request routine for requesting rescue to the outside.
11. The program according to claim 10, further comprising a processing step of causing the rescue request routine to request rescue from the user terminal when the failure detection subroutine detects that execution of the task has failed.
前記クラウドプラットフォームに、前記ユーザ端末に対して前記ロボットに対する操作を許可させる処理ステップをさらに有することを特徴とする請求項11に記載のプログラム。   The program according to claim 11, further comprising a processing step of allowing the user platform to allow the user terminal to operate the robot. 前記ロボットに対する操作を許可させる処理ステップは、前記ユーザ端末のディスプレイに示された視覚情報に対する直接操作による操作を許可させる処理ステップであることを特徴とする請求項12に記載のプログラム。   The program according to claim 12, wherein the processing step of permitting an operation on the robot is a processing step of permitting an operation by direct operation on visual information displayed on a display of the user terminal. 前記ユーザインタフェースは、3Dジェスチャーインタフェースであることを特徴とする請求項11〜13のいずれか1項に記載のプログラム。   The program according to any one of claims 11 to 13, wherein the user interface is a 3D gesture interface. 前記ユーザインタフェースは、ヘッドマウントディスプレイを含むことを特徴とする請求項11〜14のいずれか1項に記載のプログラム。   The program according to any one of claims 11 to 14, wherein the user interface includes a head-mounted display. 前記救助を要請した前記ユーザ端末から得た情報を検索可能にデータベース化させる処理ステップをさらに有することを特徴とする請求項11〜15のいずれか1項に記載のプログラム。   The program according to any one of claims 11 to 15, further comprising a processing step of creating a database so that information obtained from the user terminal that has requested the rescue is searchable. 前記データベース化された前記情報は、前記救助を要請することとなった前記ロボットの状況が含まれ、前記情報は、前記状況に陥った他のロボットの救助に利用されることを特徴とする請求項11〜16のいずれか1項に記載のプログラム。   The information stored in the database includes a situation of the robot that has requested the rescue, and the information is used for rescue of another robot that falls into the situation. Item 17. The program according to any one of Items 11 to 16. 前記クラウドプラットフォームに、
前記救助要請を行うために前記ユーザ端末に表示させるための画像を送信させる処理ステップと、
前記画像の少なくとも一部にプライバシ保護のための処理を実施させる処理ステップと
をさらに有することを特徴とする請求項11〜17のいずれか1項に記載のプログラム。
In the cloud platform,
A processing step of transmitting an image to be displayed on the user terminal in order to make the rescue request;
The program according to claim 11, further comprising a processing step of executing processing for privacy protection on at least a part of the image.
JP2015174744A 2015-09-04 2015-09-04 Cloud robotics system, information processor, program, and method for controlling or supporting robot in cloud robotics system Pending JP2017047519A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015174744A JP2017047519A (en) 2015-09-04 2015-09-04 Cloud robotics system, information processor, program, and method for controlling or supporting robot in cloud robotics system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015174744A JP2017047519A (en) 2015-09-04 2015-09-04 Cloud robotics system, information processor, program, and method for controlling or supporting robot in cloud robotics system

Publications (1)

Publication Number Publication Date
JP2017047519A true JP2017047519A (en) 2017-03-09

Family

ID=58278510

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015174744A Pending JP2017047519A (en) 2015-09-04 2015-09-04 Cloud robotics system, information processor, program, and method for controlling or supporting robot in cloud robotics system

Country Status (1)

Country Link
JP (1) JP2017047519A (en)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019005819A (en) * 2017-06-21 2019-01-17 富士ゼロックス株式会社 Remote control type mobile robot and robot control system
CN111308994A (en) * 2018-11-23 2020-06-19 苏州科瓴精密机械科技有限公司 Robot control method and robot system
CN112256025A (en) * 2020-10-12 2021-01-22 北京字节跳动网络技术有限公司 Equipment control method and device and electronic equipment
US10953541B2 (en) 2018-07-31 2021-03-23 At&T Intellectual Property I, L.P. Providing logistical support for robots
WO2021171353A1 (en) * 2020-02-25 2021-09-02 日本電気株式会社 Control device, control method, and recording medium
WO2021171877A1 (en) * 2020-02-25 2021-09-02 ソニーグループ株式会社 Server, self-traveling robot, and terminal device
CN113885404A (en) * 2021-10-29 2022-01-04 同济大学 Multi-robot cooperative control system based on universal interface
JP2022511504A (en) * 2018-12-04 2022-01-31 キャベンディッシュ ニュークリア リミテッド Control device improvements and control related improvements
CN114347041A (en) * 2022-02-21 2022-04-15 汕头市快畅机器人科技有限公司 Group robot control and pattern generation method
WO2022091787A1 (en) * 2020-10-29 2022-05-05 avatarin株式会社 Communication system, robot, and storage medium
WO2022138474A1 (en) * 2020-12-23 2022-06-30 パナソニックIpマネジメント株式会社 Robot control method, robot, program, and recording medium
JP2022132166A (en) * 2021-02-26 2022-09-07 株式会社キビテク Robot supporting system
CN117119500A (en) * 2023-10-25 2023-11-24 国网山东省电力公司东营供电公司 Intelligent CPE (customer premise equipment) module-based inspection robot data transmission optimization method
US11886190B2 (en) 2020-12-23 2024-01-30 Panasonic Intellectual Property Management Co., Ltd. Method for controlling robot, robot, and recording medium
US11960285B2 (en) 2020-12-23 2024-04-16 Panasonic Intellectual Property Management Co., Ltd. Method for controlling robot, robot, and recording medium

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003019452A1 (en) * 2001-08-28 2003-03-06 Yujin Robotics, Co. Method and system for developing intelligence of robot, method and system for educating robot thereby
JP2003291083A (en) * 2002-03-28 2003-10-14 Toshiba Corp Robot device, robot controlling method, and robot delivery system
JP2005117621A (en) * 2003-09-16 2005-04-28 Honda Motor Co Ltd Image distribution system
JP2007190659A (en) * 2006-01-20 2007-08-02 Advanced Telecommunication Research Institute International Robot remote operation system
JP2011235378A (en) * 2010-05-07 2011-11-24 Honda Motor Co Ltd Control device
JP2012111038A (en) * 2012-03-21 2012-06-14 Advanced Telecommunication Research Institute International Android control system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003019452A1 (en) * 2001-08-28 2003-03-06 Yujin Robotics, Co. Method and system for developing intelligence of robot, method and system for educating robot thereby
JP2003291083A (en) * 2002-03-28 2003-10-14 Toshiba Corp Robot device, robot controlling method, and robot delivery system
JP2005117621A (en) * 2003-09-16 2005-04-28 Honda Motor Co Ltd Image distribution system
JP2007190659A (en) * 2006-01-20 2007-08-02 Advanced Telecommunication Research Institute International Robot remote operation system
JP2011235378A (en) * 2010-05-07 2011-11-24 Honda Motor Co Ltd Control device
JP2012111038A (en) * 2012-03-21 2012-06-14 Advanced Telecommunication Research Institute International Android control system

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7013689B2 (en) 2017-06-21 2022-02-01 富士フイルムビジネスイノベーション株式会社 Remote-controlled mobile robots and robot control systems
JP2019005819A (en) * 2017-06-21 2019-01-17 富士ゼロックス株式会社 Remote control type mobile robot and robot control system
US10953541B2 (en) 2018-07-31 2021-03-23 At&T Intellectual Property I, L.P. Providing logistical support for robots
US11890757B2 (en) 2018-07-31 2024-02-06 Hyundai Motor Company Providing logistical support for robots
CN111308994B (en) * 2018-11-23 2023-07-25 苏州科瓴精密机械科技有限公司 Robot control method and robot system
CN111308994A (en) * 2018-11-23 2020-06-19 苏州科瓴精密机械科技有限公司 Robot control method and robot system
JP2022511504A (en) * 2018-12-04 2022-01-31 キャベンディッシュ ニュークリア リミテッド Control device improvements and control related improvements
WO2021171353A1 (en) * 2020-02-25 2021-09-02 日本電気株式会社 Control device, control method, and recording medium
WO2021171877A1 (en) * 2020-02-25 2021-09-02 ソニーグループ株式会社 Server, self-traveling robot, and terminal device
JPWO2021171353A1 (en) * 2020-02-25 2021-09-02
JP7452619B2 (en) 2020-02-25 2024-03-19 日本電気株式会社 Control device, control method and program
CN112256025A (en) * 2020-10-12 2021-01-22 北京字节跳动网络技术有限公司 Equipment control method and device and electronic equipment
WO2022091787A1 (en) * 2020-10-29 2022-05-05 avatarin株式会社 Communication system, robot, and storage medium
WO2022138474A1 (en) * 2020-12-23 2022-06-30 パナソニックIpマネジメント株式会社 Robot control method, robot, program, and recording medium
JP7153891B1 (en) * 2020-12-23 2022-10-17 パナソニックIpマネジメント株式会社 ROBOT CONTROL METHOD, ROBOT, PROGRAM, AND RECORDING MEDIUM
US11886190B2 (en) 2020-12-23 2024-01-30 Panasonic Intellectual Property Management Co., Ltd. Method for controlling robot, robot, and recording medium
US11906966B2 (en) 2020-12-23 2024-02-20 Panasonic Intellectual Property Management Co., Ltd. Method for controlling robot, robot, and recording medium
US11960285B2 (en) 2020-12-23 2024-04-16 Panasonic Intellectual Property Management Co., Ltd. Method for controlling robot, robot, and recording medium
JP2022132166A (en) * 2021-02-26 2022-09-07 株式会社キビテク Robot supporting system
CN113885404A (en) * 2021-10-29 2022-01-04 同济大学 Multi-robot cooperative control system based on universal interface
CN114347041A (en) * 2022-02-21 2022-04-15 汕头市快畅机器人科技有限公司 Group robot control and pattern generation method
CN114347041B (en) * 2022-02-21 2024-03-08 汕头市快畅机器人科技有限公司 Group robot control and pattern generation method
CN117119500A (en) * 2023-10-25 2023-11-24 国网山东省电力公司东营供电公司 Intelligent CPE (customer premise equipment) module-based inspection robot data transmission optimization method
CN117119500B (en) * 2023-10-25 2024-01-12 国网山东省电力公司东营供电公司 Intelligent CPE (customer premise equipment) module-based inspection robot data transmission optimization method

Similar Documents

Publication Publication Date Title
JP2017047519A (en) Cloud robotics system, information processor, program, and method for controlling or supporting robot in cloud robotics system
US10542118B2 (en) Facilitating dynamic filtering and local and/or remote processing of data based on privacy policies and/or user preferences
CN109074750B (en) Flight management and control for unmanned aerial vehicles
JP7013420B2 (en) Location of mobile devices
KR102292455B1 (en) Remote expert system
CN108234918B (en) Exploration and communication architecture method and system of indoor unmanned aerial vehicle with privacy awareness
US9865058B2 (en) Three-dimensional mapping system
US11768956B2 (en) Privacy screen
US10607320B2 (en) Filtering of real-time visual data transmitted to a remote recipient
US11900708B2 (en) Neural network-based recognition of trade workers present on industrial sites
WO2015081334A1 (en) Systems and methods for providing a virtual menu
US9213413B2 (en) Device interaction with spatially aware gestures
CN107209572A (en) Method and electronic equipment for display picture
CN102708120A (en) Life streaming
JP2018085571A (en) Information processing apparatus, information processing method, and program
JP2020501223A (en) Gesture-based access control in virtual environments
US10972462B2 (en) Electronic account recovery through account connections
Chen et al. A case study of security and privacy threats from augmented reality (ar)
WO2019177915A1 (en) Using a one-dimensional ray sensor to map an environment
US11134079B2 (en) Cognitive behavioral and environmental access
US20190355065A1 (en) Automatic generation of expense data using facial recognition in digitally captured photographic images

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20161206