JP2019008158A - Decentralized system integrating and sharing information on the basis of ros architecture - Google Patents

Decentralized system integrating and sharing information on the basis of ros architecture Download PDF

Info

Publication number
JP2019008158A
JP2019008158A JP2017124154A JP2017124154A JP2019008158A JP 2019008158 A JP2019008158 A JP 2019008158A JP 2017124154 A JP2017124154 A JP 2017124154A JP 2017124154 A JP2017124154 A JP 2017124154A JP 2019008158 A JP2019008158 A JP 2019008158A
Authority
JP
Japan
Prior art keywords
module
message
information
response
information management
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
JP2017124154A
Other languages
Japanese (ja)
Inventor
有紀子 中野
Yukiko Nakano
有紀子 中野
良太 西村
Ryota Nishimura
良太 西村
麟太郎 眞鍋
Rintaro Manabe
麟太郎 眞鍋
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.)
Seikei Gakuen
Original Assignee
Seikei Gakuen
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 Seikei Gakuen filed Critical Seikei Gakuen
Priority to JP2017124154A priority Critical patent/JP2019008158A/en
Publication of JP2019008158A publication Critical patent/JP2019008158A/en
Pending legal-status Critical Current

Links

Landscapes

  • Manipulator (AREA)

Abstract

To provide a decentralized system for integrating and sharing information on the basis of ROS architecture.SOLUTION: According to the present invention, there is provided a decentralized system in which a plurality of modules integrate and share information on the basis of ROS (Robot Operating System) architecture, the system including an information management module which saves a message in response to a message storage request transmitted from each module, and then transmits, as a return value, a data identifier of the saved message to the module as the request source, wherein the information management module transmits, in response to a message acquisition request transmitted from each module and specifying a data identifier, a message regarding the data identifier to the module as the request source, and each module distributes, in response to receiving the data identifier of the saved message from the information management module, the data identifier to other modules.SELECTED DRAWING: Figure 1

Description

本発明は、分散システムに関し、より詳細には、ROSアーキテクチャに基づいて情報を統合・共有する分散システムに関する。   The present invention relates to a distributed system, and more particularly to a distributed system that integrates and shares information based on a ROS architecture.

近年、人工知能ロボットの分野では、その実用化に向けて、記号概念レベルの情報(音声対話、感情処理、知識推論)や物理信号レベルの情報(人・環境センシング、動作)といった様式・粒度の異なるマルチモーダル情報を円滑に統合・共有するための技術が種々検討されている。   In recent years, in the field of artificial intelligence robots, in order to put it to practical use, it has a style and granularity such as information at the symbolic concept level (speech dialogue, emotion processing, knowledge inference) and physical signal level information (human / environmental sensing, motion). Various techniques for smoothly integrating and sharing different multimodal information have been studied.

この点につき、非特許文献1は、知識推論、音声対話、人と物の画像センシング、動作という4種類の要素知能をROS(Robot Operating System)アーキテクチャに基づいて円滑に統合・共有する総合知能アプリケーションの開発プラットフォームを開示する。   In this regard, Non-Patent Document 1 describes a comprehensive intelligence application that smoothly integrates and shares four types of elemental intelligence: knowledge inference, speech dialogue, image sensing of humans and objects, and operations based on the ROS (Robot Operating System) architecture. Disclose the development platform.

森田武史, 西村良太, 山口高平:ROS に基づく総合知能アプリケーション開発プラットフォームPRINTEPS のアーキテクチャ, 第30 回人工知能学会全国大会, 4C4-1 (2016)Takeshi Morita, Ryota Nishimura, Takahira Yamaguchi: Architecture of Integrated Intelligence Application Development Platform PRINTEPS Based on ROS, 30th Annual Conference of Japanese Society for Artificial Intelligence, 4C4-1 (2016)

本発明は、上記に鑑みてなされたものであり、ROSアーキテクチャに基づいて情報を統合・共有する分散システムを提供することを目的とする。   The present invention has been made in view of the above, and an object thereof is to provide a distributed system that integrates and shares information based on the ROS architecture.

本発明者は、ROSアーキテクチャに基づいて情報を統合・共有する分散システムにつき鋭意検討した結果、以下の構成に想到し、本発明に至ったのである。   As a result of intensive studies on a distributed system that integrates and shares information based on the ROS architecture, the present inventor has conceived the following configuration and arrived at the present invention.

すなわち、本発明によれば、複数のモジュールがROS(Robot Operating System)アーキテクチャに基づいて情報を統合・共有する分散システムであって、各モジュールから送信されるメッセージ保存要求に応答して、メッセージを保存し、返り値として、保存したメッセージのデータ識別子を要求元のモジュールに送信する情報管理モジュールを含み、前記情報管理モジュールは、各モジュールから送信される、データ識別子を指定したメッセージ取得要求に応答して、該データ識別子に係るメッセージを要求元のモジュールに送信し、各モジュールは、前記情報管理モジュールから、保存したメッセージのデータ識別子を受信したことに応答して、該データ識別子を他のモジュールに配信する、分散システムが提供される。   That is, according to the present invention, a plurality of modules is a distributed system in which information is integrated and shared based on the ROS (Robot Operating System) architecture, and a message is transmitted in response to a message storage request transmitted from each module. An information management module for storing and transmitting the data identifier of the stored message to the requesting module as a return value, the information management module responding to a message acquisition request specifying the data identifier transmitted from each module In response to receiving the data identifier of the stored message from the information management module, each module transmits the message relating to the data identifier to the requesting module. Distributed system It is.

上述したように、本発明によれば、ROSアーキテクチャに基づいて情報を統合・共有する分散システムが提供される。   As described above, according to the present invention, a distributed system that integrates and shares information based on the ROS architecture is provided.

本実施形態の分散システムの機能ブロックを示す図。The figure which shows the functional block of the distributed system of this embodiment. 「ロボット喫茶店」のシステム構成図。The system block diagram of "robot cafe". 本実施形態の分散システムが実行する処理のシーケンス図。The sequence diagram of the process which the distributed system of this embodiment performs. 各モジュールが送信するメッセージのデータ構造を示す図。The figure which shows the data structure of the message which each module transmits. モジュール間の連携態様を説明するための図。The figure for demonstrating the cooperation aspect between modules. 本実施形態の音声対話モジュールの機能ブロックを示す図。The figure which shows the functional block of the voice interaction module of this embodiment.

以下、本発明を図面に示した実施の形態をもって説明するが、本発明は、図面に示した実施の形態に限定されるものではない。なお、以下に参照する各図においては、共通する要素について同じ符号を用い、適宜、その説明を省略するものとする。   Hereinafter, the present invention will be described with reference to embodiments shown in the drawings, but the present invention is not limited to the embodiments shown in the drawings. In the drawings referred to below, the same reference numerals are used for common elements, and the description thereof is omitted as appropriate.

図1は、本発明の実施形態である分散システム100の機能ブロックを概念的に示す。図1に示すように、本実施形態の分散システム100は、情報管理モジュール10と、画像処理モジュール20と、音声対話モジュール30と、知識処理モジュール40と、ロボット制御モジュール50とを含んで構成されており、各ソフトウェア・モジュールは、ROS(Robot Operating System)アーキテクチャに基づいて情報を統合・共有するように構成されている。なお、図1に示すモジュール構成は、あくまで例示であって、本実施形態の分散システム100は、少なくとも、情報管理モジュール10と、その他の2以上のソフトウェア・モジュール(以下、単に、モジュールという)を含んでいればよい。   FIG. 1 conceptually shows functional blocks of a distributed system 100 according to an embodiment of the present invention. As shown in FIG. 1, the distributed system 100 according to the present embodiment includes an information management module 10, an image processing module 20, a voice interaction module 30, a knowledge processing module 40, and a robot control module 50. Each software module is configured to integrate and share information based on a ROS (Robot Operating System) architecture. The module configuration shown in FIG. 1 is merely an example, and the distributed system 100 according to the present embodiment includes at least an information management module 10 and two or more other software modules (hereinafter simply referred to as modules). It only has to be included.

ここで、本実施形態の分散システム100の詳しい説明に入る前に、ROSアーキテクチャに基づくデータ通信について概説する。   Here, before entering into a detailed description of the distributed system 100 of the present embodiment, data communication based on the ROS architecture will be outlined.

ROS(Robot Operating System)は、ソフトウェア開発者のロボット・アプリケーション作成を支援するライブラリやツールを提供するロボットフレームワークであり、オープンソースロボティクス財団により開発、メンテナンスが行われている。ROSは、異なるOS(Windows、Mac、Linux、Android、iOSなど)や異なるハードウェア上で実行される実行プログラムのプロセス間通信を可能にするメタ・オペレーティングシステムを提供する。ROSによれば、異なるOSやハードウェア上で動作する複数のソフトウェア・モジュールの統合が容易になり、マルチロボットやマルチセンサーといった分散システムを簡単に構築することができるようになる。   ROS (Robot Operating System) is a robot framework that provides libraries and tools to assist software developers in creating robot applications and is being developed and maintained by the Open Source Robotics Foundation. ROS provides a meta-operating system that enables inter-process communication of execution programs executed on different OSs (Windows, Mac, Linux, Android, iOS, etc.) and different hardware. According to ROS, it becomes easy to integrate a plurality of software modules that operate on different OSs and hardware, and a distributed system such as a multi-robot and a multi-sensor can be easily constructed.

ROSでは、分散システム上で実行される個々の実行プログラムが“ノード”と呼ばれる最少の構成要素となり、ノード間で“メッセージ”と呼ばれるデータがやり取りされる。“メッセージ”は、Message 型で定義されたプログラミング言語非依存のデータであり、Message 型は、構造体のように複数の変数や配列を持つことができ、各変数の型は、予め用意された型(int8 やstring など)を使用する他、ユーザが独自に定義することもできる。   In ROS, each execution program executed on a distributed system is the minimum component called a “node”, and data called a “message” is exchanged between the nodes. “Message” is data independent of programming language defined in Message type. Message type can have multiple variables and arrays like structures, and each variable type is prepared in advance. In addition to using types (such as int8 and string), you can also define your own.

ROSでは、メッセージの通信方式として、トピック(topic)とサービス(service)という2種類の通信方式が用意されており、用途やメッセージの形式、時間的粒度などに応じて、これら2種類の通信方式を使い分けることができる。   In ROS, two types of communication methods, topic and service, are prepared as message communication methods. These two communication methods are used according to the purpose, message format, and time granularity. Can be used properly.

トピック(topic)は、非同期方式の通信方式である。ROSでは、トピックで定義されたメッセージを送信することを配信(publish)といい、配信するノードのことを配信者(publisher)という。また、トピックで定義されたメッセージを受信することを購読(subscribe)といい、購読するノードのことを購読者(subscriber)という。ROSでは、このトピックを使用して、配信者(publisher)から購読者(subscriber)に向けて所望のデータを連続的に送信することができる。   A topic is an asynchronous communication method. In ROS, sending a message defined by a topic is called “publish”, and a node to be delivered is called a “publisher”. In addition, receiving a message defined by a topic is called a “subscribe”, and a node that subscribes is called a “subscriber”. In ROS, this topic can be used to continuously transmit desired data from a publisher to a subscriber.

一方、サービス(service)は、同期方式の通信方式である。ROSでは、サービスで定義されたメッセージをリクエストするノードのことをサービスクライアントといい、このリクエストにレスポンスするノードのことをサービスサーバという。ROSでは、サービスクライアント・サービスサーバ間が、必要に応じて、一回限り接続され、リクエスト・レスポンスが実行される度に接続が切断される。   On the other hand, the service is a synchronous communication method. In ROS, a node that requests a message defined by a service is called a service client, and a node that responds to this request is called a service server. In ROS, a service client and a service server are connected only once as necessary, and the connection is disconnected each time a request / response is executed.

そして、ROSでは、ノード間の接続を管理するために“マスター”と呼ばれるネームサーバが用意される。各ノードは、自身の購読者ノード名、購読しようとするトピック名、自身の配信者ノード名、配信しようとするトピック名、サービス名、メッセージの型名、URIアドレスとポートといった情報をマスターに登録する。一方、各ノードは、他のノードの情報をマスターから取得し、取得した情報に基づいて、他のノードとの間でメッセージを直接的にやり取りする。   In ROS, a name server called “master” is prepared to manage connections between nodes. Each node registers information such as its own subscriber node name, topic name to be subscribed, its own distributor node name, topic name to be delivered, service name, message type name, URI address and port in the master. To do. On the other hand, each node acquires information on other nodes from the master, and directly exchanges messages with other nodes based on the acquired information.

以上、ROSアーキテクチャに基づくデータ通信について概説したので、続いて、本実施形態の分散システム100が実行する具体的な処理の内容を説明する。   As described above, the data communication based on the ROS architecture has been outlined, and then the details of specific processing executed by the distributed system 100 of the present embodiment will be described.

以下では、本実施形態の分散システム100を「ロボット喫茶店」に適用したケースを例にとって説明を行う。   Hereinafter, a case where the distributed system 100 of this embodiment is applied to a “robot cafe” will be described as an example.

図2は、「ロボット喫茶店」のシステム構成図を示す。図2に示すように、「ロボット喫茶店」では、店内の入口の様子を撮影するために撮影装置70aが設置され、テーブルの様子を撮影するために撮影装置70b、70cが設置され、客の発話音声を収録するために各テーブルにマイク80a、80bが設置されている。そして、フロアーに接客用ロボット60aと配膳用ロボット60bが配置され、調理場に調理用ロボット60cが配置されている。ここで、接客用ロボット60aには内蔵スピーカ90が搭載されている。   FIG. 2 shows a system configuration diagram of the “robot cafe”. As shown in FIG. 2, in the “robot cafe”, a photographing device 70a is installed to photograph the state of the entrance in the store, and photographing devices 70b and 70c are disposed to photograph the state of the table. Microphones 80a and 80b are installed on each table to record audio. A customer service robot 60a and a serving robot 60b are arranged on the floor, and a cooking robot 60c is arranged in the kitchen. Here, the built-in speaker 90 is mounted on the customer service robot 60a.

「ロボット喫茶店」では、図1に示した5つのモジュールがネットワークで接続された2台以上のコンピュータ上に分散配置されており、5つのモジュールが情報の統合・共有を通して相互に連携することにより(1)入店時挨拶、(2)座席案内、(3)受注、(4)飲食物の用意と運搬、(5)会計、(6)見送り、という6種類のサービスを実現する。ここでは、まず、図1に示した5つのモジュールが「ロボット喫茶店」において果たす役割について説明する。   In the “robot cafe”, the five modules shown in FIG. 1 are distributed on two or more computers connected by a network, and the five modules cooperate with each other through the integration and sharing of information ( The following six types of services are realized: 1) greetings when entering a store, (2) seat guidance, (3) ordering, (4) preparation and transportation of food and drink, (5) accounting, and (6) postponing. Here, the role that the five modules shown in FIG. 1 play in the “robot cafe” will be described.

知識処理モジュール40は、画像処理モジュール20や音声対話モジュール30が取得した情報に基づき、ワークフロー、ビジネスルール、オントロジーなどを用いて各種の知識推論を行う。   The knowledge processing module 40 performs various knowledge inferences based on information acquired by the image processing module 20 and the voice interaction module 30 using workflow, business rules, ontology, and the like.

画像処理モジュール20は、撮影装置70a、70b、70cが取得した撮影画像に基づいて、客の入店を検知し、客の人数、年齢、性別、属性などを取得する。   The image processing module 20 detects the customer's entry based on the captured images acquired by the imaging devices 70a, 70b, and 70c, and acquires the number, age, sex, attributes, and the like of the customer.

音声対話モジュール30は、マイク80a、80bが取得した音声から、客の発話内容を理解し、これに対応する適切な応答内容を合成音声として、接客用ロボット60aの内蔵スピーカ90に出力する。   The voice interaction module 30 understands the utterance contents of the customer from the voices acquired by the microphones 80a and 80b, and outputs appropriate response contents corresponding thereto as synthesized voices to the built-in speaker 90 of the customer service robot 60a.

ロボット制御モジュール50は、接客用ロボット60aの店内移動や配膳用ロボット60bの配膳動作、調理用ロボット60cによる飲食物の準備動作を制御する。   The robot control module 50 controls the movement of the customer service robot 60a in the store, the food distribution operation of the food distribution robot 60b, and the food preparation operation by the cooking robot 60c.

一方、情報管理モジュール10は、上述した各モジュールから送信されるメッセージをデータベースに保存するとともに、各モジュールが要求するメッセージをデータベースから読み出して提供する。なお、上述したデータベースは、ドキュメント指向データベースとして構成されており、メッセージは、JSON(JavaScript Object Notation)のような形でドキュメント指向データベースに保存され、Message 型データの形のままで読み・書きされる。   On the other hand, the information management module 10 stores messages transmitted from the above-described modules in a database, and reads and provides messages requested by each module from the database. The database described above is configured as a document-oriented database, and messages are stored in the document-oriented database in the form of JSON (JavaScript Object Notation), and are read and written in the form of Message type data. .

以上、5つのモジュールの役割について説明したが、続いて、情報の統合・共有のために各モジュールが実行する処理の内容を図3に示すシーケンス図に基づいて説明する。   The role of the five modules has been described above. Next, the contents of processing executed by each module for information integration / sharing will be described based on the sequence diagram shown in FIG.

なお、以下では、「客情報」というサービス名を持つメッセージをモジュール間で統合・共有するケースについて説明する。ここで、「客情報」は、図4(a)に示すように、(1)データID、(2)人数、(3)構成、(4)属性、(5)好み、(6)アレルギー、(7)お勧め、という7つの変数を備えている。   In the following, a case where a message having the service name “customer information” is integrated and shared between modules will be described. Here, as shown in FIG. 4A, “customer information” includes (1) data ID, (2) number of people, (3) configuration, (4) attribute, (5) preference, (6) allergy, (7) Seven variables are recommended.

また、以下では、図1に示す全てのモジュールが、「データID」というトピック名を持つメッセージについて、配信者(publisher)および購読者(subscriber)としてマスターに登録されているものとする。   In the following description, it is assumed that all modules illustrated in FIG. 1 are registered in the master as a publisher and a subscriber for a message having a topic name “data ID”.

画像処理モジュール20は、撮影装置70から取得した撮影画像に基づいて、客の人数と構成(年齢、性別)を取得する(S1)。   The image processing module 20 acquires the number of customers and the configuration (age, gender) based on the captured image acquired from the imaging device 70 (S1).

次に、画像処理モジュール20は、「客情報」の変数の値として、S1で取得した情報を格納する(S2)。図4(b)は、変数「人数」に値「1名」が格納され、変数「構成」に値「30代 男性」が格納されたメッセージを示す。   Next, the image processing module 20 stores the information acquired in S1 as the value of the “customer information” variable (S2). FIG. 4B shows a message in which the value “1 person” is stored in the variable “number of people” and the value “male in 30s” is stored in the variable “configuration”.

次に、画像処理モジュール20は、図4(b)に示すメッセージのメッセージ保存要求を情報管理モジュール10にサービス(service)で送信する(S3)。   Next, the image processing module 20 transmits a message storage request for the message shown in FIG. 4B to the information management module 10 as a service (S3).

これを受けて、情報管理モジュール10は、受信したメッセージに対してデータ識別子(以下、データIDという)を発行し(S4)、当該メッセージの変数「データID」に、発行したデータIDを格納する。図4(c)は、変数「データID」に値「12345」が格納されたメッセージを示す。   In response, the information management module 10 issues a data identifier (hereinafter referred to as data ID) to the received message (S4), and stores the issued data ID in the variable “data ID” of the message. . FIG. 4C shows a message in which the value “12345” is stored in the variable “data ID”.

その後、情報管理モジュール10は、データIDを格納したメッセージをドキュメント指向データベースに保存し(S5)、返り値として、S4で発行したデータID「12345」を要求元の画像処理モジュール20に送信する(S6)。   Thereafter, the information management module 10 saves the message storing the data ID in the document-oriented database (S5), and transmits the data ID “12345” issued in S4 to the requesting image processing module 20 as a return value (S5). S6).

これを受けて、画像処理モジュール20は、「データID」というトピック名を持つメッセージの変数「データID」の値として、情報管理モジュール10から受信したデータID「12345」を格納する(S7)。図4(e)は、変数「データID」に値「12345」が格納されたメッセージを示す。   In response to this, the image processing module 20 stores the data ID “12345” received from the information management module 10 as the value of the variable “data ID” of the message having the topic name “data ID” (S7). FIG. 4E shows a message in which the value “12345” is stored in the variable “data ID”.

次に、トピック名「データID」のメッセージの配信者(publisher)である画像処理モジュール20は、図4(e)に示すメッセージを、その購読者(subscriber)として登録された知識処理モジュール40にトピック(topic)で配信する(S8)。   Next, the image processing module 20 which is a publisher of the message having the topic name “data ID” sends the message shown in FIG. 4E to the knowledge processing module 40 registered as the subscriber. Distribute by topic (S8).

これを受けて、知識処理モジュール40は、受信したメッセージの変数「データID」の値「12345」を指定したメッセージ取得要求を情報管理モジュール10にサービス(service)で送信する(S9)。   In response to this, the knowledge processing module 40 transmits a message acquisition request specifying the value “12345” of the variable “data ID” of the received message to the information management module 10 as a service (S9).

これを受けて、情報管理モジュール10は、受信したメッセージの変数「データID」の値「12345」をキーとしてドキュメント指向データベースを検索し、図4(c)に示すメッセージを抽出する(S10)。その後、情報管理モジュール10は、抽出したメッセージを要求元の知識処理モジュール40に送信する(S11)。   In response to this, the information management module 10 searches the document-oriented database using the value “12345” of the variable “data ID” of the received message as a key, and extracts the message shown in FIG. 4C (S10). Thereafter, the information management module 10 transmits the extracted message to the requesting knowledge processing module 40 (S11).

これを受けて、知識処理モジュール40は、受信したメッセージ(図4(c)参照)の変数「人数」、「構成」の値に基づいて知識推論を行い、客の「属性」を推定し(S12)、受信したメッセージの変数「属性」の値として、推定した結果「サラリーマン」を格納する(S13)。図4(d)は、変数「属性」に値「サラリーマン」が格納されたメッセージを示す。   In response to this, the knowledge processing module 40 performs knowledge inference based on the values of the variables “number of people” and “configuration” of the received message (see FIG. 4C) and estimates the “attribute” of the customer ( S12) The estimated result “salaryman” is stored as the value of the variable “attribute” of the received message (S13). FIG. 4D shows a message in which the value “company employee” is stored in the variable “attribute”.

次に、知識処理モジュール40は、図4(d)に示すメッセージのメッセージ保存要求を情報管理モジュール10にサービス(service)で送信する(S14)。これを受けて、情報管理モジュール10は、受信したメッセージをドキュメント指向データベースに保存し(S15)、返り値として、保存したメッセージのデータID「12345」を要求元の知識処理モジュール40に送信する(S16)。   Next, the knowledge processing module 40 transmits a message storage request for the message shown in FIG. 4D to the information management module 10 as a service (S14). In response to this, the information management module 10 saves the received message in the document-oriented database (S15), and transmits the data ID “12345” of the saved message to the knowledge processing module 40 of the request source as a return value (S15). S16).

これを受けて、知識処理モジュール40は、トピック名「データID」を備えるメッセージの変数「データID」の値として、情報管理モジュール10から受信したデータID「12345」を格納する(S17)。図4(e)は、変数「データID」に値「12345」が格納されたメッセージを示す。   In response, the knowledge processing module 40 stores the data ID “12345” received from the information management module 10 as the value of the variable “data ID” of the message having the topic name “data ID” (S17). FIG. 4E shows a message in which the value “12345” is stored in the variable “data ID”.

次に、トピック名「データID」のメッセージの配信者(publisher)である知識処理モジュール40は、図4(e)に示すメッセージを、その購読者(subscriber)として登録された音声対話モジュール30にトピック(topic)で配信する(S18)。   Next, the knowledge processing module 40, which is the publisher of the message with the topic name “data ID”, sends the message shown in FIG. 4 (e) to the voice interaction module 30 registered as the subscriber. Distribute by topic (S18).

以上、説明したように、本実施形態においては、各モジュールは、「客情報」の変数の値に自身が取得した情報を格納し、その「客情報」を情報管理モジュール10に保存するとともに、保存した「客情報」のデータIDを他のモジュール(購読者モジュール)に配信する。一方、データIDを配信された購読者モジュールは、配信されたデータIDに係る「客情報」を情報管理モジュール10から取得し、取得した「客情報」の変数の値に自身が取得した情報を格納し、その「客情報」を情報管理モジュール10に保存するとともに、保存した「客情報」のデータIDを他のモジュール(購読者モジュール)に配信する。本実施形態では、上述した一連の処理が繰り返し実行されることにより、各モジュールが取得した情報が「客情報」において統合され、モジュール間で共有されることになる。   As described above, in the present embodiment, each module stores the information acquired by itself in the value of the “customer information” variable, and stores the “customer information” in the information management module 10. The data ID of the stored “customer information” is distributed to another module (subscriber module). On the other hand, the subscriber module to which the data ID has been distributed acquires “customer information” related to the distributed data ID from the information management module 10, and uses the acquired information as the variable value of the acquired “customer information”. The stored “customer information” is stored in the information management module 10, and the data ID of the stored “customer information” is distributed to other modules (subscriber modules). In this embodiment, the series of processes described above are repeatedly executed, so that the information acquired by each module is integrated in “customer information” and shared between modules.

以上、情報の統合・共有のために各モジュールが実行する処理を説明したが、続いて、モジュール間の連携態様を図5に示す具体例を基づいて説明する。   The processing executed by each module for information integration / sharing has been described above. Next, the cooperation mode between modules will be described based on a specific example shown in FIG.

画像処理モジュール20は、撮影装置70から取得した撮影画像に基づいて取得した客の人数(2名)と構成(30代 女性+幼児 男性)を「客情報」に書き込んで情報管理モジュール10に保存すると同時に、保存した「客情報」のデータID「23456」を知識処理モジュール40に配信する。   The image processing module 20 writes the number of customers (2 persons) and the configuration (female in the 30s + infant male) acquired based on the captured image acquired from the imaging device 70 in the “customer information” and stores them in the information management module 10. At the same time, the data ID “23456” of the stored “customer information” is distributed to the knowledge processing module 40.

知識処理モジュール40は、画像処理モジュール20から配信されたデータID(23456)に係る「客情報」を情報管理モジュール10から取得し、取得した「客情報」の変数の値(人数:2名、構成:30代 女性+幼児 男性)に基づく知識推論により、客の属性(子供連れ)を推定する。その後、知識処理モジュール40は、推定した属性(子供連れ)を「客情報」の変数「属性」の値に格納して情報管理モジュール10に保存すると同時に、保存した「客情報」のデータID「23456」を音声対話モジュール30に配信する。   The knowledge processing module 40 acquires “customer information” related to the data ID (23456) distributed from the image processing module 20 from the information management module 10, and acquires the values of the acquired “customer information” variables (number of people: 2 people, Composition: Estimate customer attributes (with children) by knowledge reasoning based on 30s (female + infant male). Thereafter, the knowledge processing module 40 stores the estimated attribute (with children) in the value of the variable “attribute” of “customer information” and saves it in the information management module 10, and at the same time, the data ID “ 23456 "is distributed to the voice interaction module 30.

音声対話モジュール30は、知識処理モジュール40から配信されたデータID(23456)に係る「客情報」を情報管理モジュール10から取得し、取得した「客情報」の変数「属性」の値として「子供連れ」が格納されていることを受けて、所定の対話ルールに基づいて、客と対話を行い、子供のアレルギー情報を取得する。その後、音声対話モジュール30は、取得したアレルギー情報「小麦」を「客情報」の変数「アレルギー」の値に格納して情報管理モジュール10に保存すると同時に、保存した「客情報」のデータID「23456」を知識処理モジュール40に配信する。   The voice interaction module 30 acquires “customer information” related to the data ID (23456) distributed from the knowledge processing module 40 from the information management module 10, and sets “child” as the value of the variable “attribute” of the acquired “customer information”. In response to the storage of “accompanied”, the user interacts with the customer based on a predetermined dialogue rule to acquire allergy information of the child. Thereafter, the voice interaction module 30 stores the acquired allergy information “wheat” in the value of the variable “allergy” of “customer information” and saves it in the information management module 10, and at the same time, the data ID “ 23456 "is distributed to the knowledge processing module 40.

知識処理モジュール40は、音声対話モジュール30から配信されたデータID(23456)に係る「客情報」を情報管理モジュール10から取得し、取得した「客情報」の変数「アレルギー」の値「小麦」に基づく知識推論により、客へのお勧め商品として「米粉ケーキ」を推定する。その後、知識処理モジュール40は、推定したお勧め商品「米粉ケーキ」を「客情報」の変数「お勧め」の値に格納して情報管理モジュール10に保存すると同時に、保存した「客情報」のデータID「23456」を音声対話モジュール30に配信する。   The knowledge processing module 40 acquires “customer information” related to the data ID (23456) distributed from the voice interaction module 30 from the information management module 10 and the value “wheat” of the variable “allergy” of the acquired “customer information”. Based on knowledge reasoning, “rice flour cake” is estimated as a recommended product for customers. Thereafter, the knowledge processing module 40 stores the estimated recommended product “rice flour cake” in the value of the “customer information” variable “recommended” and stores it in the information management module 10, and at the same time, stores the stored “customer information”. The data ID “23456” is distributed to the voice interaction module 30.

音声対話モジュール30は、知識処理モジュール40から配信されたデータID(23456)に係る「客情報」を情報管理モジュール10から取得し、取得した「客情報」の変数「お勧め」の値として「米粉ケーキ」が格納されていることを受けて、所定のマッチングルールに基づき、「米粉ケーキはいかがですか?」という合成音声を生成する。その後、音声対話モジュール30は、生成した合成音声を接客用ロボット60aの内蔵スピーカ90に出力する。   The voice interaction module 30 acquires “customer information” related to the data ID (23456) distributed from the knowledge processing module 40 from the information management module 10, and sets “0” as the value of the variable “recommended” of the acquired “customer information”. In response to the storage of “rice flour cake”, a synthesized speech “How about rice flour cake?” Is generated based on a predetermined matching rule. Thereafter, the voice interaction module 30 outputs the generated synthesized voice to the built-in speaker 90 of the customer service robot 60a.

上述したように、本実施形態によれば、ユーザと直接対話する術を持たないモジュールが、情報管理モジュール10を介して、音声対話モジュール30と連携することにより、ユーザの明示的な意図を反映した適切な対応をとることができるようになる。   As described above, according to the present embodiment, a module that does not have a technique for directly interacting with the user cooperates with the voice interaction module 30 via the information management module 10 to reflect the explicit intention of the user. Appropriate actions can be taken.

以上、説明したように、本実施形態によれば、各モジュールが単独では取得できない情報をモジュール間で補完しあいながら、情報管理モジュール10に蓄積することにより、分散システム100内で情報が統合・共有される。   As described above, according to the present embodiment, information that cannot be acquired independently by each module is accumulated in the information management module 10 while complementing information between the modules, thereby integrating and sharing information in the distributed system 100. Is done.

本実施形態では、この他にも、以下のような連携が想定される。例えば、画像処理モジュール20が撮影画像に基づいて客の人数を取得する場合、知識処理モジュール40との連携(ストリーム推論の利用)によって、フレームごとに結果が揺れることが防止され、安定した人数検出が可能になる。また、画像処理モジュール20による撮影画像に基づくユーザの行動推定(飲食中・発話中の推定)と音声対話モジュール30を連携させることによって、より頑健に発話者を推定することが可能になる。一方、音声対話モジュール30は、画像処理モジュール20が取得した客情報を利用することにより、情報確認のために冗長になりがちなユーザとの対話内容を大幅に簡略化できるようになり、その結果、より自然な対話がなされるようになる。   In the present embodiment, in addition to this, the following cooperation is assumed. For example, when the image processing module 20 acquires the number of customers based on the captured image, the result is prevented from shaking for each frame by cooperation with the knowledge processing module 40 (use of stream inference), and stable number detection is possible. Is possible. Further, by linking the user's behavior estimation (estimation during eating / speaking / speaking) based on the photographed image by the image processing module 20 and the voice interaction module 30, it is possible to estimate the speaker more robustly. On the other hand, by using the customer information acquired by the image processing module 20, the voice dialogue module 30 can greatly simplify the contents of dialogue with a user who tends to be redundant for information confirmation. A more natural dialogue will be made.

以上、図1に示すモジュールの連携について説明してきたが、続いて、音声対話モジュール30を構成するサブモジュールの連携について説明する。   As described above, the cooperation of the modules shown in FIG. 1 has been described. Next, the cooperation of the submodules constituting the voice interaction module 30 will be described.

図6に示すように、本実施形態の音声対話モジュール30は、音声取得モジュール31と、音声認識モジュール32と、言語理解モジュール33と、対話管理モジュール34と、応答生成モジュール35と、音声合成モジュール36という6つのサブモジュールからなる。   As shown in FIG. 6, the speech dialogue module 30 of this embodiment includes a speech acquisition module 31, a speech recognition module 32, a language understanding module 33, a dialogue management module 34, a response generation module 35, and a speech synthesis module. It consists of six submodules of 36.

音声取得モジュール31は、マイク80a,80bが取得した音声波形データを音声認識モジュール32に渡す。これを受けて、音声認識モジュール32は、逐次的に音声認識を実行し、その結果である自然言語文(テキスト)を言語理解モジュール33に渡す。これを受けて、言語理解モジュール33は、受領したテキストを、所定のマッチングルールに基づいて、システムで理解するための内部表現に変換し、対話管理モジュール34に渡す。   The voice acquisition module 31 passes the voice waveform data acquired by the microphones 80 a and 80 b to the voice recognition module 32. In response to this, the speech recognition module 32 sequentially executes speech recognition, and passes a natural language sentence (text) as a result to the language understanding module 33. In response to this, the language understanding module 33 converts the received text into an internal representation for understanding by the system based on a predetermined matching rule, and passes it to the dialogue management module 34.

これを受けて、対話管理モジュール34は、受領した内部表現をシステム応答の内部表現に変換し、応答生成モジュール35に渡す。これを受けて、応答生成モジュール35は、受領した内部表現を、所定のマッチングルールに基づいて、自然言語文(テキスト)に変換し、音声合成モジュール36に渡す。これを受けて、音声合成モジュール36は、受領した自然言語文(テキスト)の音声を合成し、その合成音声を接客用ロボット60aの内蔵スピーカ90に出力する。   In response to this, the dialogue management module 34 converts the received internal representation into an internal representation of the system response and passes it to the response generation module 35. In response to this, the response generation module 35 converts the received internal expression into a natural language sentence (text) based on a predetermined matching rule, and passes it to the speech synthesis module 36. In response to this, the speech synthesis module 36 synthesizes the received natural language sentence (text) speech and outputs the synthesized speech to the built-in speaker 90 of the customer service robot 60a.

ここで、本実施形態では、図6に示すサブモジュールの一部または全部が、自身の最新の内部状態をメッセージとして、情報管理モジュール10に保存するように構成されており、各サブモジュールは、他のサブモジュールが保存した内部状態や自身が保存した内部状態を情報管理モジュール10を介して参照することができるようになっている。   Here, in this embodiment, a part or all of the submodules shown in FIG. 6 are configured to store their latest internal state as a message in the information management module 10, and each submodule is The internal state stored by other submodules and the internal state stored by itself can be referred to via the information management module 10.

これにより、例えば、対話管理モジュール34は、ユーザとの対話中に、自身が情報管理モジュール10に保存した直近のシステム応答(例えば、[ConfToUser:3])と、その後に言語理解モジュール33から受領した最新のユーザ入力(例えば、[Num:4])を合わせて、状態遷移ルールに基づく対話処理を行うことにより、文脈を考慮した応答(例えば、[ConfToUser:4])を生成することができるようになる。その結果、以下に例示するような、一問一答型ではない、自然な対話が実現される。

システム:「いらっしゃいませ。3名様ですか?」
ユーザ:「いいえ、4名です。」
システム:「4名様ですね?」
ユーザ:「はい。」
システム:「ご案内いたします。少々お待ち下さい。」
As a result, for example, the dialog management module 34 receives the latest system response (for example, [ConfToUser: 3]) stored in the information management module 10 during the dialog with the user, and the language understanding module 33 thereafter. By combining the latest user input (for example, [Num: 4]) and performing interactive processing based on the state transition rule, a response (for example, [ConfToUser: 4]) in consideration of the context can be generated. It becomes like this. As a result, a natural dialogue that is not a question-and-answer type as exemplified below is realized.

System: “Come on. Three people?”
User: “No, 4 people.”
System: “Are you four people?”
User: “Yes.”
System: “We will guide you. Please wait a moment.”

以上、本発明について実施形態をもって説明してきたが、本発明は上述した実施形態に限定されるものではなく当業者が推考しうる、その他の実施態様の範囲内において、本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。   As described above, the present invention has been described with the embodiment. However, the present invention is not limited to the above-described embodiment, and the functions and effects of the present invention are within the scope of other embodiments that can be considered by those skilled in the art. As long as it plays, it is included in the scope of the present invention.

なお、上述した実施形態の各機能は、C、C++、C#、Java(登録商標)などで記述された装置実行可能なプログラムにより実現でき、本実施形態のプログラムは、ハードディスク装置、CD−ROM、MO、DVD、フレキシブルディスク、EEPROM、EPROMなどの装置可読な記録媒体に格納して頒布することができ、また他装置が可能な形式でネットワークを介して伝送することができる。   Note that each function of the above-described embodiment can be realized by a device-executable program described in C, C ++, C #, Java (registered trademark), and the like. The program of this embodiment includes a hard disk device, a CD-ROM. , MO, DVD, flexible disk, EEPROM, EPROM and the like can be stored and distributed in a device-readable recording medium, and can be transmitted via a network in a format that other devices can.

10…情報管理モジュール、20…画像処理モジュール、30…音声対話モジュール、31…音声取得モジュール、32…音声認識モジュール、33…言語理解モジュール、34…対話管理モジュール、35…応答生成モジュール、36…音声合成モジュール、40…知識処理モジュール、50…ロボット制御モジュール、60…ロボット、70…撮影装置、80…マイク、90…内蔵スピーカ、100…分散システム DESCRIPTION OF SYMBOLS 10 ... Information management module, 20 ... Image processing module, 30 ... Voice dialogue module, 31 ... Voice acquisition module, 32 ... Speech recognition module, 33 ... Language understanding module, 34 ... Dialogue management module, 35 ... Response generation module, 36 ... Speech synthesis module, 40 ... Knowledge processing module, 50 ... Robot control module, 60 ... Robot, 70 ... Imaging device, 80 ... Microphone, 90 ... Built-in speaker, 100 ... Distributed system

Claims (5)

複数のモジュールがROS(Robot Operatihg System)アーキテクチャに基づいて情報を統合・共有する分散システムであって、
各モジュールから送信されるメッセージ保存要求に応答して、メッセージを保存し、返り値として、保存したメッセージのデータ識別子を要求元のモジュールに送信する情報管理モジュールを含み、
前記情報管理モジュールは、
各モジュールから送信される、データ識別子を指定したメッセージ取得要求に応答して、該データ識別子に係るメッセージを要求元のモジュールに送信し、
各モジュールは、
前記情報管理モジュールから、保存したメッセージのデータ識別子を受信したことに応答して、該データ識別子を他のモジュールに配信する、
分散システム。
A distributed system in which a plurality of modules integrate and share information based on a ROS (Robot Operating System) architecture,
In response to a message storage request transmitted from each module, the information storage module stores the message and transmits the data identifier of the stored message as a return value to the requesting module;
The information management module includes:
In response to the message acquisition request specifying the data identifier transmitted from each module, the message related to the data identifier is transmitted to the requesting module,
Each module is
In response to receiving the data identifier of the stored message from the information management module, the data identifier is distributed to other modules.
Distributed system.
各前記モジュールは、
前記メッセージ保存要求および前記メッセージ取得要求を前記情報管理モジュールにサービスで送信し、
前記保存したメッセージのデータ識別子を他のモジュールにトピックで配信する、
請求項1に記載の分散システム。
Each said module is
Sending the message storage request and the message acquisition request to the information management module as a service,
Deliver the data identifier of the stored message to another module as a topic;
The distributed system according to claim 1.
前記情報管理モジュールは、
前記メッセージ保存要求に係るメッセージをドキュメント指向データベースに保存する、
請求項1または2に記載の分散システム。
The information management module includes:
Storing a message according to the message storage request in a document-oriented database;
The distributed system according to claim 1 or 2.
各前記モジュールは
前記メッセージ保存要求に係るメッセージの変数の値に自身が取得した情報を格納する、
請求項1〜3のいずれか一項に記載の分散システム。
Each of the modules stores information acquired by itself in the value of a message variable related to the message storage request.
The distributed system as described in any one of Claims 1-3.
前記複数のモジュールは、
少なくとも、音声入力に基づいてユーザの発話を理解し、該発話に対する応答を合成音声で出力する音声対話モジュールを含む、
請求項1〜4のいずれか一項に記載の分散システム。
The plurality of modules are:
Including a voice interaction module that at least understands a user's utterance based on voice input and outputs a response to the utterance as synthesized voice;
The distributed system as described in any one of Claims 1-4.
JP2017124154A 2017-06-26 2017-06-26 Decentralized system integrating and sharing information on the basis of ros architecture Pending JP2019008158A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017124154A JP2019008158A (en) 2017-06-26 2017-06-26 Decentralized system integrating and sharing information on the basis of ros architecture

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017124154A JP2019008158A (en) 2017-06-26 2017-06-26 Decentralized system integrating and sharing information on the basis of ros architecture

Publications (1)

Publication Number Publication Date
JP2019008158A true JP2019008158A (en) 2019-01-17

Family

ID=65028807

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017124154A Pending JP2019008158A (en) 2017-06-26 2017-06-26 Decentralized system integrating and sharing information on the basis of ros architecture

Country Status (1)

Country Link
JP (1) JP2019008158A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109940616A (en) * 2019-03-21 2019-06-28 佛山智能装备技术研究院 One kind being based on brain-cerebella model intelligent grabbing system and method
CN112109090A (en) * 2020-09-21 2020-12-22 金陵科技学院 Multi-sensor fusion search and rescue robot system
CN112394912A (en) * 2019-08-16 2021-02-23 北京大学 Robot application data dynamic extraction method based on ROS (reactive oxygen species) calculation graph

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109940616A (en) * 2019-03-21 2019-06-28 佛山智能装备技术研究院 One kind being based on brain-cerebella model intelligent grabbing system and method
CN109940616B (en) * 2019-03-21 2022-06-03 佛山智能装备技术研究院 Intelligent grabbing system and method based on brain-cerebellum mode
CN112394912A (en) * 2019-08-16 2021-02-23 北京大学 Robot application data dynamic extraction method based on ROS (reactive oxygen species) calculation graph
CN112394912B (en) * 2019-08-16 2022-03-25 北京大学 Robot application data dynamic extraction method based on ROS (reactive oxygen species) calculation graph
CN112109090A (en) * 2020-09-21 2020-12-22 金陵科技学院 Multi-sensor fusion search and rescue robot system

Similar Documents

Publication Publication Date Title
US9501741B2 (en) Method and apparatus for building an intelligent automated assistant
US10257241B2 (en) Multimodal stream processing-based cognitive collaboration system
US9729592B2 (en) System and method for distributed virtual assistant platforms
Tsiourti et al. A virtual assistive companion for older adults: design implications for a real-world application
US20080096533A1 (en) Virtual Assistant With Real-Time Emotions
CN110321413A (en) Session frame
Mahieu et al. Semantics-based platform for context-aware and personalized robot interaction in the internet of robotic things
Fernández-Rodicio et al. Modelling multimodal dialogues for social robots using communicative acts
JP2019008158A (en) Decentralized system integrating and sharing information on the basis of ros architecture
US10678941B2 (en) Privacy focused network sensor device object recognition
Khan et al. Reframing HRI design opportunities for social robots: Lessons learnt from a service robotics case study approach using UX for HRI
CN109643313A (en) Information processing equipment, information processing method and program
Cavallo et al. Design impact of acceptability and dependability in assisted living robotic applications
Divekar et al. Cira: An architecture for building configurable immersive smart-rooms
WO2015039105A1 (en) System and method for distributed virtual assistant platforms
Grassi et al. Sustainable cloud services for verbal interaction with embodied agents
CN108145714B (en) Distributed control system of service type robot
Origlia et al. FANTASIA: a framework for advanced natural tools and applications in social, interactive approaches
De Nicola et al. AErlang: Empowering Erlang with attribute-based communication
Morita et al. PRINTEPS: an integrated intelligent application development platform based on stream reasoning and ROS
Villa et al. Design and evaluation of proactive behavior in conversational assistants: approach with the eva companion robot
JP2015535990A (en) System and method for facilitating promotional events
US11195336B2 (en) Framework for augmented reality applications
Schnelle-Walka et al. Multimodal fusion and fission within W3C standards for nonverbal communication with blind persons
Rao et al. Inter-device Language Translation Application for Smartphones

Legal Events

Date Code Title Description
A80 Written request to apply exceptions to lack of novelty of invention

Free format text: JAPANESE INTERMEDIATE CODE: A80

Effective date: 20170710