JP2009090420A - Robot remote control system - Google Patents
Robot remote control system Download PDFInfo
- Publication number
- JP2009090420A JP2009090420A JP2007264118A JP2007264118A JP2009090420A JP 2009090420 A JP2009090420 A JP 2009090420A JP 2007264118 A JP2007264118 A JP 2007264118A JP 2007264118 A JP2007264118 A JP 2007264118A JP 2009090420 A JP2009090420 A JP 2009090420A
- Authority
- JP
- Japan
- Prior art keywords
- robot
- operator
- terminal
- information
- condition
- 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.)
- Granted
Links
- 241000282414 Homo sapiens Species 0.000 claims description 40
- 230000009471 action Effects 0.000 claims description 19
- 230000005540 biological transmission Effects 0.000 claims description 10
- 230000033001 locomotion Effects 0.000 claims description 10
- 230000004044 response Effects 0.000 claims description 8
- 241000282412 Homo Species 0.000 claims description 7
- 238000001514 detection method Methods 0.000 claims description 6
- 230000005236 sound signal Effects 0.000 claims description 3
- 238000000034 method Methods 0.000 description 125
- 230000008569 process Effects 0.000 description 121
- 210000005252 bulbus oculi Anatomy 0.000 description 19
- 210000001508 eye Anatomy 0.000 description 19
- 210000000323 shoulder joint Anatomy 0.000 description 14
- 230000006870 function Effects 0.000 description 12
- 210000002310 elbow joint Anatomy 0.000 description 8
- 230000006399 behavior Effects 0.000 description 7
- 230000008921 facial expression Effects 0.000 description 7
- 210000003128 head Anatomy 0.000 description 7
- 210000000245 forearm Anatomy 0.000 description 6
- 238000009434 installation Methods 0.000 description 4
- 230000001419 dependent effect Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- RZVAJINKPMORJF-UHFFFAOYSA-N Acetaminophen Chemical compound CC(=O)NC1=CC=C(O)C=C1 RZVAJINKPMORJF-UHFFFAOYSA-N 0.000 description 1
- 210000001015 abdomen Anatomy 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 210000000887 face Anatomy 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 210000001503 joint Anatomy 0.000 description 1
- 230000000877 morphologic effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
Images
Landscapes
- Manipulator (AREA)
Abstract
Description
この発明は、ロボット遠隔操作システムに関し、特にたとえばロボットを遠隔操作するための、ロボット遠隔操作システムに関する。 The present invention relates to a robot remote control system, and more particularly to a robot remote control system for remotely controlling a robot, for example.
この種の従来のロボット遠隔操作システムの一例が、特許文献1に開示されている。この特許文献1のロボット遠隔操作システムは、ネットワークを介して接続された複数のロボット,中央制御装置および複数の操作端末を含む。複数の操作端末のそれぞれは、オペレータによって操作される。ロボットは、人間とコミュニケーション可能な自律型ロボットであり、自律制御だけでは対応が困難な状況などになったときに、必要に応じてオペレータを呼び出す。中央制御装置は、最も適切な操作端末(オペレータ)を選択し、当該操作端末に遠隔操作を依頼する。オペレータを呼び出したロボットは、その操作端末からの操作コマンドに基づいて自身の動作を制御する。
しかし、特許文献1に示す背景技術では、ロボットを遠隔操作するのは1人のオペレータであるため、コミュニケーション対象の人間が要求する条件を全て満たそうとすると、個々のオペレータに対して高い知識レベルが要求される。このようなロボット遠隔操作システムの構築は困難であり、現実的ではないと考えられる。また、1人のオペレータでは、十分に対応できない場合もある。
However, in the background art shown in
それゆえに、この発明の主たる目的は、新規な、ロボット遠隔操作システムを提供することである。 Therefore, the main object of the present invention is to provide a novel robot remote control system.
この発明の他の目的は、遠隔操作するロボットとコミュニケーションする相手の要求に適切に対応することができる、ロボット遠隔操作システムを提供することである。 Another object of the present invention is to provide a robot remote control system capable of appropriately responding to a request of a partner communicating with a remotely operated robot.
この発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、この発明の理解を助けるために記述する実施形態との対応関係を示したものであって、この発明を何ら限定するものではない。 The present invention employs the following configuration in order to solve the above problems. The reference numerals in parentheses, supplementary explanations, and the like indicate the corresponding relationship with the embodiments described in order to help understanding of the present invention, and do not limit the present invention.
第1の発明は、遠隔操作または自律制御により、人間との間で身体動作および音声の少なくとも一方によるコミュニケーション行動を行うロボットと、ネットワークを介してロボットの遠隔操作を行う複数の操作端末と、ネットワークを介してロボットと操作端末とを仲介する中央制御装置とを備える、ロボット遠隔操作システムである。ロボットは、自律制御により人間との間におけるコミュニケーション行動の実行が困難であるかどうかを判断する判断手段、および判断手段の判断結果が肯定的であるとき中央制御装置に遠隔操作の依頼を通知する通知手段を備え、中央制御装置は、通知手段からの遠隔操作の依頼の通知を受信する依頼通知受信手段、依頼通知受信手段が遠隔操作の依頼の通知を受信したことに応じてロボットの遠隔操作を行う操作者が満たすべき条件についての条件リストを作成する条件リスト作成手段、複数の操作端末の各々について操作者の属性情報を含む端末情報を記憶する端末情報記憶手段、条件作成手段によって作成された条件リストと端末情報記憶手段に記憶された端末情報とを比較する比較手段、比較手段の比較結果に基づいて条件リストの全部または一部の条件を満足する端末情報を有する1または複数の操作端末をロボットの遠隔操作を行う操作端末として選択する選択手段、およびロボットと選択手段によって選択された1または複数の操作端末とをネットワークを介して通信可能に接続させる接続制御手段を備えることを特徴とする。 According to a first aspect of the present invention, there is provided a robot that performs communication with humans through at least one of body movement and voice by remote operation or autonomous control, a plurality of operation terminals that perform remote operation of the robot via a network, and a network This is a robot remote control system including a central control device that mediates between the robot and the operation terminal via the. The robot determines whether it is difficult to execute communication actions with humans by autonomous control, and notifies the central controller of a request for remote operation when the determination result of the determination means is affirmative A central processing unit including a notification means, a request notification receiving means for receiving a notification of a remote operation request from the notification means, and a remote operation of the robot in response to the request notification receiving means receiving a notification of a remote operation request. Created by a condition list creating means for creating a condition list for conditions to be satisfied by an operator who performs the operation, a terminal information storage means for storing terminal information including attribute information of the operator for each of a plurality of operation terminals, and a condition creating means A comparison means for comparing the prepared condition list with the terminal information stored in the terminal information storage means, and a condition list based on the comparison result of the comparison means Selection means for selecting one or a plurality of operation terminals having terminal information satisfying all or a part of the conditions as an operation terminal for remotely operating the robot, and one or a plurality of operation terminals selected by the robot and the selection means; It is characterized by comprising a connection control means for enabling communication via a network.
第1の発明では、ロボット遠隔操作システム(10)は、遠隔操作または自律制御により、人間との間で身体動作および音声の少なくとも一方によるコミュニケーション行動を行うロボット(12a,12b)と、ネットワーク(100)を介してロボットの遠隔操作を行う複数の操作端末(16a〜16c)と、ネットワークを介してロボットと操作端末との仲介を行う中央制御装置(14)とを備える。ロボットでは、判断手段(60,S403,S505〜S517)が、自律制御により人間との間におけるコミュニケーション行動の実行が困難であるかどうかを判断する。通知手段(60,62,82,84,100,S405,S601)は、判断手段の判断結果が肯定的であるとき、つまり自律制御により人間とコミュニケーションすることができないとき、中央制御装置に遠隔操作の依頼を通知する。中央制御装置では、依頼通知受信手段(S5)が、ロボットの通知手段からの遠隔操作の依頼の通知を受信する。すると、条件リスト作成手段(60,62,52,54,70,82,84,100,S35,S65,S71,S101〜S113)が、依頼通知受信手段が遠隔操作の依頼の通知を受信したことに応じて、ロボットの遠隔操作を行う操作者が満たすべき条件についての条件リストを作成する。端末情報記憶手段(S1)は、複数の操作端末の各々について操作者の属性情報を含む端末情報を記憶している。したがって、比較手段(S67,S75,S201〜S229)は、条件作成手段によって作成された条件リストと、端末情報記憶手段に記憶された端末情報とを比較する。選択手段(S7,S69,S77,S79,S81,S83)は、比較手段の比較結果に基づいて条件リストの全部または一部の条件を満足する端末情報を有する1または複数の操作端末をロボットの遠隔操作を行う操作端末として選択する。接続制御手段(S85〜S89)は、ロボットと選択手段によって選択された1または複数の操作端末とをネットワークを介して通信可能に接続させる。 In the first invention, the robot remote control system (10) includes a robot (12a, 12b) that performs a communication action with a human by at least one of body motion and voice by remote control or autonomous control, and a network (100). ) Through a plurality of operation terminals (16a to 16c) that perform remote operation of the robot, and a central control device (14) that mediates between the robot and the operation terminal through a network. In the robot, the determination means (60, S403, S505 to S517) determines whether or not it is difficult to execute a communication action with a human by autonomous control. The notification means (60, 62, 82, 84, 100, S405, S601) is operated remotely by the central control unit when the determination result of the determination means is affirmative, that is, when communication with humans cannot be performed by autonomous control. Notify the request. In the central control unit, the request notification receiving means (S5) receives the notification of the request for remote operation from the notification means of the robot. Then, the condition list creation means (60, 62, 52, 54, 70, 82, 84, 100, S35, S65, S71, S101 to S113) that the request notification receiving means has received the notification of the remote operation request. In response to this, a condition list is created for conditions to be satisfied by an operator who performs remote operation of the robot. The terminal information storage means (S1) stores terminal information including operator attribute information for each of the plurality of operation terminals. Therefore, the comparison means (S67, S75, S201 to S229) compares the condition list created by the condition creation means with the terminal information stored in the terminal information storage means. The selection means (S7, S69, S77, S79, S81, S83) selects one or a plurality of operation terminals having terminal information satisfying all or a part of the condition list based on the comparison result of the comparison means. Select as an operation terminal for remote operation. The connection control means (S85 to S89) connects the robot and one or a plurality of operation terminals selected by the selection means so that they can communicate with each other via a network.
たとえば、ロボットとコミュニケーションする人間からの質問に5つの条件(要求)があり、5つの要求をすべて満たすことができるオペレータが存在しなかったとする。このような場合に、中央制御装置は、3つの要求に対応することができる或るオペレータの操作端末と、残りの2つの要求に対応することができる他のオペレータの操作端末とを選択する。したがって、2人のオペレータが当該ロボットの遠隔操作を行うことで、当該ロボットとコミュニケーションする人間からの質問(5つの要求)について対応することができる。 For example, it is assumed that there are five conditions (requests) in a question from a person who communicates with a robot, and there is no operator who can satisfy all the five requests. In such a case, the central control unit selects one operator's operation terminal capable of responding to three requests and another operator's operation terminal capable of responding to the remaining two requests. Therefore, two operators can respond to questions (five requests) from a person who communicates with the robot by remotely operating the robot.
第1の発明によれば、ロボットとコミュニケーションする人間からの要求に対応できる1または複数のオペレータを選択し、ロボットと選択されたオペレータが操作する操作端末とを通信可能に接続させるので、オペレータの遠隔操作によって人間からの要求を満たすことができる。つまり、ロボットとコミュニケーションする相手の要求に適切に応えて、円滑に対応することができる。 According to the first invention, one or a plurality of operators that can respond to a request from a person who communicates with the robot is selected, and the robot and the operation terminal operated by the selected operator are communicably connected. Remote control can satisfy human demands. That is, it is possible to respond appropriately to the request of the other party who communicates with the robot and to respond smoothly.
第2の発明は、第1の発明に従属し、ロボットは、人間の音声に対応する音声信号を検出する音声検出手段、および音声検出手段によって検出された音声信号を少なくとも中央制御装置に送信する送信手段をさらに備える。中央制御装置は、送信手段からの音声信号を受信する音声受信手段、音声受信手段によって受信された音声信号に基づいて人間の音声を認識する音声認識手段、および音声認識手段の認識結果に基づいて人間の発話する言語を特定する言語特定手段をさらに備える。条件リストは、言語情報を条件として含む。 A second invention is according to the first invention, and the robot transmits a voice detection means for detecting a voice signal corresponding to a human voice, and a voice signal detected by the voice detection means to at least the central controller. A transmission means is further provided. The central control unit includes: a voice receiving unit that receives a voice signal from the transmission unit; a voice recognition unit that recognizes a human voice based on the voice signal received by the voice receiving unit; and a recognition result of the voice recognition unit. Language specifying means for specifying a language spoken by a human is further provided. The condition list includes language information as a condition.
第2の発明では、ロボットの音声検出手段(54,60,62,70)は、人間の音声に対応する音声信号を検出する。送信手段(60,62,82,84,100,S605)は、音声検出手段によって検出された音声信号を少なくとも中央制御装置に送信する。ただし、ロボットと操作端末とが通信可能に接続された場合には、当該音声信号は操作端末に送信される。中央制御装置の音声受信手段(S39)は、送信手段からの音声信号を受信する。音声認識手段(S41,S45,S49)は、音声受信手段によって受信された音声信号に基づいて人間の音声を認識する。言語特定手段(S43,S47,S51〜S63)は、音声認識手段の認識結果に基づいて人間の発話する言語を特定する。 In the second invention, the voice detection means (54, 60, 62, 70) of the robot detects a voice signal corresponding to a human voice. The transmission means (60, 62, 82, 84, 100, S605) transmits the audio signal detected by the audio detection means to at least the central controller. However, when the robot and the operation terminal are communicably connected, the audio signal is transmitted to the operation terminal. The voice receiving means (S39) of the central control unit receives the voice signal from the sending means. The voice recognition means (S41, S45, S49) recognizes human voice based on the voice signal received by the voice reception means. The language specifying means (S43, S47, S51 to S63) specifies a language spoken by a human based on the recognition result of the voice recognition means.
たとえば、条件リストには、ロボットとコミュニケーションする人間が話す言語情報が含まれる。したがって、中央制御装置は、少なくとも、ロボットとコミュニケーションする人間と同じ言語を話すことができるオペレータが操作する操作端末を選択する。 For example, the condition list includes language information spoken by a person communicating with the robot. Therefore, the central control device selects at least an operation terminal operated by an operator who can speak the same language as a human being communicating with the robot.
第2の発明によれば、ロボットとコミュニケーションする人間と同じ言語を話すことができるオペレータが操作する操作端末を選択することができるため、ロボットとコミュニケーションする人間と、オペレータとが直接的に会話することができる。これによって、オペレータは、当該人間の要求を的確に理解し、それに対応することができる。 According to the second invention, since an operation terminal operated by an operator who can speak the same language as the person who communicates with the robot can be selected, the person who communicates with the robot and the operator have a direct conversation. be able to. Thus, the operator can accurately understand and respond to the human request.
第3の発明は、第2の発明に従属し、選択手段は、1つの操作端末の端末情報によって条件リストの一部の条件を満足するとき、当該一部の条件を除く残りの条件を満足する端末情報を有する1または複数の他の操作端末を選択する他端末選択手段を含み、他端末選択手段は、条件リストの全条件に対して一定の割合を超える条件を満足するまで他の操作端末の選択を継続する。 A third invention is dependent on the second invention, and when the selection means satisfies a part of the condition list by the terminal information of one operation terminal, the selection means satisfies the remaining conditions excluding the part of the condition Including other terminal selection means for selecting one or a plurality of other operation terminals having terminal information to be executed, and the other terminal selection means performs other operations until a condition exceeding a certain ratio with respect to all conditions in the condition list is satisfied. Continue selecting terminals.
第3の発明では、他端末選択手段(S69,S75,S77,S79)は、1つの操作端末によって条件リストの一部の条件を満足するとき、当該一部の条件を除く残りの条件を満足する端末情報を有する1または複数の他の操作端末を選択する。他端末選択手段は、条件リストの全条件に対して一定の割合を超える条件を満足するまで他の操作端末の選択を継続する。 In the third invention, when the other terminal selection means (S69, S75, S77, S79) satisfies a part of the conditions in the condition list by one operation terminal, the other conditions are satisfied except for the part of the conditions. One or more other operation terminals having terminal information to be selected are selected. The other terminal selection means continues to select other operation terminals until a condition exceeding a certain ratio with respect to all conditions in the condition list is satisfied.
たとえば、一定の割合を80%とし、ロボットとコミュニケーションする人間から5つの要求があった場合に、中央制御装置は、少なくとも4つの要求を満たすまで、他の操作端末を選択する。この場合には、複数人のオペレータによって、ロボットは遠隔操作される。 For example, when the fixed ratio is 80% and there are five requests from a person communicating with the robot, the central control device selects another operation terminal until at least four requests are satisfied. In this case, the robot is remotely operated by a plurality of operators.
ここで、一定の割合以上を満たせば良いようにしてあるのは、必ず全ての条件を満たさなければならないようにすると、他端末選択手段の選択処理が、無限ループになってしまう可能性があるからである。ただし、このような場合であっても、一定の割合以上の要求に応答することができるので、全く対応できないような不都合な状態は回避される。 Here, it is only necessary to satisfy a certain ratio or more. If all the conditions must be satisfied, the selection process of the other terminal selection means may become an infinite loop. Because. However, even in such a case, since it is possible to respond to requests of a certain ratio or more, an inconvenient state that cannot be handled at all can be avoided.
第3の発明によれば、ロボットとコミュニケーションする人間からの要求を全て満たしていなくても、オペレータがロボットを遠隔操作することにより、全く対応できないような不都合を回避して、当該人間の要求に可及的多く対応するようにすることができる。また、操作端末の選択処理が無限ループになるのを防止することができる。 According to the third aspect of the present invention, even if all the requests from the human being who communicates with the robot are not satisfied, it is possible to avoid the inconvenience that cannot be dealt with at all by the operator remotely operating the robot. It is possible to respond as much as possible. In addition, it is possible to prevent the operation terminal selection process from entering an infinite loop.
第4の発明は、第3の発明に従属し、中央制御装置は、選択手段によって選択された操作端末の数が一定数以上であるかどうかを判定する端末数判定手段をさらに備え、他端末選択手段は、端末数判定手段によって、一定数以上であることが判定されるまで他の操作端末の選択を継続する。 A fourth invention is according to the third invention, wherein the central control device further comprises a terminal number determination means for determining whether or not the number of operation terminals selected by the selection means is equal to or greater than a certain number, and the other terminal The selection means continues to select other operation terminals until it is determined by the terminal number determination means that the number is a certain number or more.
第4の発明では、中央制御装置の端末数判定手段(S81)は、選択手段によって選択された操作端末の数が一定数以上であるかどうかを判定する。他端末選択手段は、端末数判定手段によって、一定数以上であることが判定されるまで他の操作端末の選択を継続する。つまり、操作端末の数が制限される。たとえば、一定数を3とした場合に、中央制御装置によって3台の操作端末が選択されれば、条件リストに含まれる条件のうち、一定の割合(たとえば、80%)以上の条件を満たしていなくても、他の操作端末の選択を終了する。 In the fourth invention, the terminal number determination means (S81) of the central control apparatus determines whether or not the number of operation terminals selected by the selection means is a certain number or more. The other terminal selection means continues to select other operation terminals until it is determined by the terminal number determination means that the number is equal to or greater than a certain number. That is, the number of operation terminals is limited. For example, if the fixed number is 3, and if three operation terminals are selected by the central control unit, the condition included in the condition list satisfies a certain ratio (for example, 80%) or more. Even if not, the selection of another operation terminal is terminated.
第4の発明によれば、第3の発明と同様に、操作端末の選択処理が無限ループになってしまうのを防止することができる。また、操作端末の数を制限するので、遠隔操作するオペレータの人数が多数になり、オペレータ同士での調整等に時間がかかるのを防止することができる。これにより、円滑にロボットを遠隔操作することができる。 According to the fourth invention, similarly to the third invention, it is possible to prevent the selection process of the operation terminal from becoming an infinite loop. In addition, since the number of operation terminals is limited, it is possible to prevent the number of operators to be remotely operated from increasing, and it is possible to prevent time and the like from being adjusted between operators. Thereby, the robot can be remotely operated smoothly.
第5の発明は、第2の発明に従属し、選択手段は、1つの操作端末の端末情報によって条件リストの一部の条件を満足するとき、当該条件一部の条件を除く残りの条件を満足する端末情報を有する1または複数の他の操作端末を選択する他端末操作手段を含み、中央制御装置は、選択手段によって選択された操作端末の数が一定数以上であるかどうかを判定する端末数判定手段をさらに備え、他端末選択手段は、端末数判定手段によって、一定数以上であることが判定されるまで他の操作端末の選択を継続する。 The fifth invention is dependent on the second invention, and when the selection means satisfies a part of the conditions in the condition list based on the terminal information of one operation terminal, the remaining conditions excluding the part of the condition are included. Including other terminal operation means for selecting one or a plurality of other operation terminals having satisfied terminal information, and the central control device determines whether or not the number of operation terminals selected by the selection means is equal to or greater than a certain number Terminal number determination means is further provided, and the other terminal selection means continues to select other operation terminals until it is determined by the terminal number determination means that the number is equal to or greater than a certain number.
第5の発明では、他端末選択手段(S69,S75,S77,S79)は、1つの操作端末の端末情報によって条件リストの一部の条件を満足するとき、当該条件一部の条件を除く残りの条件を満足する端末情報を有する1または複数の他の操作端末を選択する。中央制御装置の端末数判定手段(S81)は、選択手段によって選択された操作端末の数が一定数以上であるかどうかを判定する。他端末選択手段は、端末数判定手段によって、一定数以上であることが判定されるまで他の操作端末の選択を継続する。 In the fifth invention, when the other terminal selection means (S69, S75, S77, S79) satisfies a partial condition in the condition list according to the terminal information of one operation terminal, the remaining condition excluding the partial condition is excluded. One or a plurality of other operation terminals having terminal information satisfying the above condition are selected. The terminal number determination means (S81) of the central control apparatus determines whether or not the number of operation terminals selected by the selection means is a certain number or more. The other terminal selection means continues to select other operation terminals until it is determined by the terminal number determination means that the number is equal to or greater than a certain number.
第5の発明によれば、操作端末の選択処理が無限ループになるのを防止するとともに、オペレータの数を制限して、円滑にロボットを遠隔操作することができる。 According to the fifth invention, the operation terminal selection process is prevented from becoming an infinite loop, and the number of operators can be limited to smoothly operate the robot remotely.
第6の発明は、第1ないしは第5の発明のいずれかに従属し、中央制御装置は、ロボットと複数操作端末との通信速度によってロボットから複数の操作端末に送信するロボットの情報を制御する送信情報制御手段をさらに備える。 A sixth invention is dependent on any one of the first to fifth inventions, and the central control device controls the robot information transmitted from the robot to the plurality of operation terminals at a communication speed between the robot and the plurality of operation terminals. Transmission information control means is further provided.
第6の発明では、中央制御装置の送信情報制御手段(S11,S301〜S329)は、ロボットと1または複数操作端末との通信速度によってロボットから複数の操作端末に送信するロボットの情報を制御する。たとえば、ロボットから操作端末に送信するデータが映像データ,音声データおよび距離データの3種類であるとする。オペレータは、たとえば、ロボットから送信されるデータを参照するなどして、ロボットを遠隔操作する。たとえば、通信速度が速い場合には、ロボットは、映像データ,音声データおよび距離データを送信する。また、通信速度が遅い場合には、ロボットは、距離データのみを送信する。さらに、通信速度がそれらの中間程度である場合には、ロボットは、映像データのみ、または、音声データのみを送信する。 In the sixth invention, the transmission information control means (S11, S301 to S329) of the central control device controls the robot information transmitted from the robot to the plurality of operation terminals according to the communication speed between the robot and one or more operation terminals. . For example, it is assumed that there are three types of data transmitted from the robot to the operation terminal: video data, audio data, and distance data. The operator remotely controls the robot, for example, referring to data transmitted from the robot. For example, when the communication speed is high, the robot transmits video data, audio data, and distance data. When the communication speed is low, the robot transmits only distance data. Furthermore, when the communication speed is about the middle of them, the robot transmits only video data or only audio data.
第6の発明によれば、ロボットが送信するデータの種類を通信速度に応じて選択するので、たとえば、送信するデータ量を調整することができる。したがって、ネットワークが過負荷になるのを防止することができる。つまり、通信がいたずらに遅延することがないため、ロボットを円滑に遠隔操作することができる。 According to the sixth aspect, since the type of data transmitted by the robot is selected according to the communication speed, for example, the amount of data to be transmitted can be adjusted. Therefore, it is possible to prevent the network from becoming overloaded. That is, since the communication is not delayed unnecessarily, the robot can be remotely operated smoothly.
この発明によれば、ロボットとコミュニケーションする人間からの要求に対応できる1または複数のオペレータを選択し、ロボットと選択されたオペレータが操作する操作端末とを通信可能に接続させるので、オペレータの遠隔操作によって人間からの要求を満たすことができる。つまり、ロボットとコミュニケーションする相手の要求に適切に応えて、円滑に対応することができる。 According to the present invention, one or a plurality of operators capable of responding to a request from a person who communicates with the robot is selected, and the robot and the operation terminal operated by the selected operator are communicably connected. Can satisfy human demands. That is, it is possible to respond appropriately to the request of the other party who communicates with the robot and to respond smoothly.
この発明の上述の目的、その他の目的、特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。 The above object, other objects, features and advantages of the present invention will become more apparent from the following detailed description of embodiments with reference to the drawings.
図1を参照して、この実施例のロボット遠隔操作システム10は、ロボット12aおよび12bを含む。このロボット12aおよび12bは、ネットワーク100を介して、中央制御装置14,操作端末16a,16bおよび16cに接続される。以下、ロボット12a,12bを区別する必要がない場合には、ロボット12と呼ぶことにする。同様に、操作端末16a−16cのそれぞれを区別する必要がない場合には、操作端末16と呼ぶことにする。
Referring to FIG. 1, a robot remote control system 10 of this embodiment includes
ロボット12は、相互作用指向のロボット(コミュニケーションロボット)であり、主として人間Aのようなコミュニケーションの対象(コミュニケーション対象)との間で、身振り手振りのような身体動作および音声の少なくとも一方を含むコミュニケーション行動を実行する機能を備えている。ロボット12は、一例として、受付ロボットや接客ロボットなどであり、たとえば或るイベント会場や家電量販店の販売フロアなどの様々な場所および状況に配置され、通常は自律制御によって、道案内や商品紹介などの役割を果たす。
The
しかし、自律制御だけでは、対応することが難しい事態になった場合に、人間によってより細やかな対応(コミュニケーション等)が求められると、ロボット12はオペレータを呼び出す。そして、ロボット12は、呼び出したオペレータによって入力された操作コマンド情報を受信した時には、受信した操作コマンドに基づいて自身の動作を制御する。つまり、ロボット12は、その自身の状況に応じてオペレータを呼び出し、オペレータによって操作される。
However, when it becomes difficult to respond only by autonomous control, the
なお、図1には、簡単のため、2台のロボット(12a,12b)およびロボット12を遠隔操作する3台の操作端末(16a−16c)を示してあるが、これによって限定される必要はない。ロボット12は1台でもよく、3台以上であっても構わない。また、操作端末は、2台以上であれば何台でも構わない。
For simplicity, FIG. 1 shows two robots (12a, 12b) and three operation terminals (16a-16c) for remotely operating the
図2を参照して、ロボット12のハードウェアの構成について説明する。また、図2はこの実施例のロボット12の外観を示す正面図である。ロボット12は台車18を含み、台車18の下面にはロボット12を自律移動させる2つの車輪20および1つの従輪22が設けられる。2つの車輪22は車輪モータ24(図3参照)によってそれぞれ独立に駆動され、台車18すなわちロボット12を前後左右の任意方向に動かすことができる。また、従輪22は車輪20を補助する補助輪である。したがって、ロボット12は、配置された空間内を自律制御によって移動可能である。ただし、ロボット12は、或る場所に固定的に配置されても構わない。
The hardware configuration of the
台車18の上には、円柱形のセンサ取り付けパネル26が設けられ、このセンサ取り付けパネル26には、多数の赤外線距離センサ28が取り付けられる。これらの赤外線距離センサ28は、センサ取り付けパネル26すなわちロボット12の周囲の物体(人間や障害物など)との距離を測定するものである。
A cylindrical
センサ取り付けパネル26の上には、胴体30が直立するように設けられる。また、胴体30の前方中央上部(人の胸に相当する位置)には、上述した赤外線距離センサ28がさらに設けられ、ロボット12の前方の主として人間との距離を計測する。また、胴体30には、その側面側上端部のほぼ中央から伸びる支柱32が設けられ、支柱32の上には、全方位カメラ34が設けられる。全方位カメラ34は、ロボット12の周囲を撮影するものであり、後述する眼カメラ58とは区別される。この全方位カメラ34としては、たとえばCCDやCMOSのような固体撮像素子を用いるカメラを採用することができる。なお、これら赤外線距離センサ28および全方位カメラ34の設置位置は、当該部位に限定されず適宜変更され得る。
The
胴体30の両側面上端部(人の肩に相当する位置)には、それぞれ、肩関節36Rおよび肩関節36Lによって、上腕38Rおよび上腕38Lが設けられる。図示は省略するが、肩関節36Rおよび肩関節36Lは、それぞれ、直交する3軸の自由度を有する。すなわち、肩関節36Rは、直交する3軸のそれぞれの軸廻りにおいて上腕38Rの角度を制御できる。肩関節36Rの或る軸(ヨー軸)は、上腕38Rの長手方向(または軸)に平行な軸であり、他の2軸(ピッチ軸およびロール軸)は、その軸にそれぞれ異なる方向から直交する軸である。同様にして、肩関節36Lは、直交する3軸のそれぞれの軸廻りにおいて上腕38Lの角度を制御できる。肩関節36Lの或る軸(ヨー軸)は、上腕38Lの長手方向(または軸)に平行な軸であり、他の2軸(ピッチ軸およびロール軸)は、その軸にそれぞれ異なる方向から直交する軸である。
An
また、上腕38Rおよび上腕38Lのそれぞれの先端には、肘関節40Rおよび肘関節40Lが設けられる。図示は省略するが、肘関節40Rおよび肘関節40Lは、それぞれ1軸の自由度を有し、この軸(ピッチ軸)の軸回りにおいて前腕42Rおよび前腕42Lの角度を制御できる。
In addition, an elbow joint 40R and an elbow joint 40L are provided at the tips of the
前腕42Rおよび前腕42Lのそれぞれの先端には、人の手に相当する球体44Rおよび球体44Lがそれぞれ固定的に設けられる。ただし、指や掌の機能が必要な場合には、人間の手の形をした「手」を用いることも可能である。また、図示は省略するが、台車18の前面,肩関節36Rと肩関節36Lとを含む肩に相当する部位,上腕38R,上腕38L,前腕42R,前腕42L,球体44Rおよび球体44Lには、それぞれ、接触センサ(図3で包括的に示す)46が設けられる。台車18の前面の接触センサ46は、台車18への人間や他の障害物の接触を検知する。したがって、ロボット12は、その自身の移動中に障害物との接触が有ると、それを検知し、直ちに車輪20の駆動を停止してロボット12の移動を急停止させることができる。また、その他の接触センサ46は、当該各部位に触れたかどうかを検知する。なお、接触センサ46の設置位置は、当該部位に限定されず、適宜な位置(人の胸,腹,脇,背中および腰に相当する位置)に設けられてもよい。
A
胴体30の中央上部(人の首に相当する位置)には首関節48が設けられ、さらにその上には頭部50が設けられる。図示は省略するが、首関節48は、3軸の自由度を有し、3軸の各軸廻りに角度制御可能である。或る軸(ヨー軸)はロボット12の真上(鉛直上向き)に向かう軸であり、他の2軸(ピッチ軸、ロール軸)は、それぞれ、それと異なる方向で直交する軸である。
A neck joint 48 is provided at the upper center of the body 30 (a position corresponding to a person's neck), and a
頭部50には、人の口に相当する位置に、スピーカ52が設けられる。スピーカ52は、ロボット12が、それの周辺の人間に対して音声ないし音によってコミュニケーションを取るために用いられる。また、人の耳に相当する位置には、マイク54Rおよびマイク54Lが設けられる。以下、右のマイク54Rと左のマイク54Lとをまとめてマイク54ということがある。マイク54は、周囲の音、とりわけコミュニケーションを実行する対象である人間の声を取り込む。さらに、人の目に相当する位置には、眼球部56Rおよび眼球部56Lが設けられる。眼球部56Rおよび眼球部56Lは、それぞれ眼カメラ58Rおよび眼カメラ58Lを含む。以下、右の眼球部56Rと左の眼球部56Lとをまとめて眼球部56ということがある。また、右の眼カメラ58Rと左の眼カメラ58Lとをまとめて眼カメラ58ということがある。
The
眼カメラ58は、ロボット12に接近した人間の顔や他の部分ないし物体などを撮影して、それに対応する映像信号を取り込む。また、眼カメラ58は、上述した全方位カメラ34と同様のカメラを用いることができる。たとえば、眼カメラ58は、眼球部56内に固定され、眼球部56は、眼球支持部(図示せず)を介して頭部50内の所定位置に取り付けられる。図示は省略するが、眼球支持部は、2軸の自由度を有し、それらの各軸廻りに角度制御可能である。たとえば、この2軸の一方は、頭部50の上に向かう方向の軸(ヨー軸)であり、他方は、一方の軸に直交しかつ頭部50の正面側(顔)が向く方向に直行する方向の軸(ピッチ軸)である。眼球支持部がこの2軸の各軸廻りに回転されることによって、眼球部56ないし眼カメラ58の先端(正面)側が変位され、カメラ軸すなわち視線方向が移動される。なお、上述のスピーカ52,マイク54および眼カメラ58の設置位置は、当該部位に限定されず、適宜な位置に設けられてよい。
The
このように、この実施例のロボット12は、車輪20の独立2軸駆動,肩関節36の3自由度(左右で6自由度),肘関節40の1自由度(左右で2自由度),首関節48の3自由度および眼球支持部の2自由度(左右で4自由度)の合計17自由度を有する。
As described above, the
図3はロボット12の電気的な構成を示すブロック図である。この図3を参照して、ロボット12は、CPU60を含む。CPU60は、マイクロコンピュータ或いはプロセッサとも呼ばれ、バス62を介して、メモリ64,モータ制御ボード66,センサ入力/出力ボード68および音声入力/出力ボード70に接続される。
FIG. 3 is a block diagram showing the electrical configuration of the
メモリ64は、図示は省略をするが、ROM,HDDおよびRAMを含む。ROMおよびHDDには、ロボット12の動作を制御するための制御プログラムが予め記憶される。たとえば、各センサの出力(センサ情報)を検知するための検知プログラム、および外部コンピュータ(中央制御装置14および操作端末16など)との間で必要なデータやコマンドを送受信するための通信プログラムなどが記録される。また、RAMは、ワークメモリやバッファメモリとして用いられる。
The
モータ制御ボード66は、たとえばDSPで構成され、各腕や首関節および眼球部などの各軸モータの駆動を制御する。すなわち、モータ制御ボード66は、CPU60からの制御データを受け、右眼球部56Rの2軸のそれぞれの角度を制御する2つのモータ(図3では、まとめて「右眼球モータ72」と示す)の回転角度を制御する。同様にして、モータ制御ボード66は、CPU60からの制御データを受け、左眼球部56Lの2軸のそれぞれの角度を制御する2つのモータ(図3では、まとめて「左眼球モータ74」と示す)の回転角度を制御する。
The motor control board 66 is composed of, for example, a DSP, and controls driving of motors of axes such as arms, neck joints, and eyeballs. That is, the motor control board 66 receives control data from the
また、モータ制御ボード66は、CPU60からの制御データを受け、右肩関節36Rの直交する3軸のそれぞれの角度を制御する3つのモータと右肘関節40Rの角度を制御する1つのモータとの計4つのモータ(図3では、まとめて「右腕モータ76」と示す)の回転角度を制御する。同様にして、モータ制御ボード66は、CPU60からの制御データを受け、左肩関節36Lの直交する3軸のそれぞれの角度を制御する3つのモータと左肘関節40Lの角度を制御する1つのモータとの計4つのモータ(図3では、まとめて「左腕モータ78」と示す)の回転角度を制御する。
The motor control board 66 receives control data from the
さらに、モータ制御ボード66は、CPU60からの制御データを受け、首関節48の直交する3軸のそれぞれの角度を制御する3つのモータ(図3では、まとめて「頭部モータ80」と示す)の回転角度を制御する。そして、モータ制御ボード66は、CPU60からの制御データを受け、車輪20を駆動する2つのモータ(図3では、まとめて「車輪モータ24」と示す)の回転角度を制御する。なお、この実施例では、車輪モータ24を除くモータは、制御を簡素化するためにステッピングモータ(すなわち、パルスモータ)を用いる。ただし、車輪モータ24と同様に直流モータを用いるようにしてもよい。また、ロボット12の身体部位を駆動するアクチュエータは、電流を動力源とするモータに限らず適宜変更された、たとえば、他の実施例では、エアアクチュエータが適用されてもよい。
Further, the motor control board 66 receives control data from the
センサ入力/出力ボード68もまた、同様に、DSPで構成され、各センサからの信号を取り込んでCPU60に与える。すなわち、赤外線距離センサ28のそれぞれからの反射時間に関するデータがこのセンサ入力/出力ボード68を通じてCPU60に入力される。また、全方位カメラ34からの映像信号が、必要に応じてセンサ入力/出力ボード68で所定の処理を施してからCPU60に入力される。眼カメラ58からの映像信号も、同様にして、CPU60に入力される。また、上述した複数の接触センサ(図3では、まとめて「接触センサ46」と示す)からの信号がセンサ入力/出力ボード68を介してCPU60に与えられる。
Similarly, the sensor input /
音声入力/出力ボード70もまた、同様に、DSPで構成され、CPU60から与えられる音声合成データに従った音声または声がスピーカ52から出力される。また、マイク54からの音声入力が、音声入力/出力ボード70を介してCPU60に与えられる。
Similarly, the voice input /
また、CPU60は、バス62を介して通信LANボード82に接続される。通信LANボード82は、DSPで構成され、CPU60から与えられた送信データを無線通信装置84に与え、無線通信装置84から送信データを、ネットワーク100を介して外部コンピュータ(中央制御装置14および操作端末16など)に送信する。また、通信LANボード82は、無線通信装置84を介してデータを受信し、受信したデータをCPU60に与える。つまり、ロボット12は、通信LANボード82および無線通信装置84によって、中央制御装置14および操作端末16と無線通信を行うことができる。
The
さらに、CPU60は、バス62を介して無線タグ読取装置86が接続される。無線タグ読取装置86は、アンテナ(図示せず)を介して、無線タグ(RFIDタグ)から送信される識別情報の重畳された電波を受信する。そして、無線タグ読取装置86は、受信した電波信号を増幅し、当該電波信号から識別信号を分離し、当該識別情報を復調(デコード)してCPU60に与える。無線タグは、イベント会場や家電量販店の販売フロアなどに居る人間に装着されており、無線タグ読取装置86は、通信可能範囲内の無線タグを検出する。なお、無線タグは、アクティブ型であってもよいし、無線タグ読み取り装置86から送信される電波に応じて駆動されるパッシブ型であってもよい。
Further, the
図1に戻って、中央制御装置14は、当該ロボット遠隔操作システム10におけるオペレータの呼び出しを制御するコンピュータであり、ロボット12および操作端末16の状態を示す情報を管理する。中央制御装置14は、図示は省略するがCPUを含み、CPUにはメモリやデータベース、通信装置などが接続されている。中央制御装置14は、通信装置を介してネットワーク100に有線または無線で接続されている。
Returning to FIG. 1, the
メモリには、当該中央制御装置14の動作を制御するための制御プログラムおよび必要なデータが記憶される。制御プログラムは、たとえば、ロボット12および操作端末16のそれぞれとの間で必要なデータやコマンドを送受信するための通信プログラムおよびロボット12からオペレータの呼び出し要求があったときに適切なオペレータ(操作端末16)を選択するための選択プログラムなどを含む。
The memory stores a control program and necessary data for controlling the operation of the
また、データベースには、ロボット12の情報を示すロボット情報テーブル(図4参照)と、操作端末16の情報を示すオペレータ端末情報テーブル(図5参照)とが記憶される。また、データベースには、イベント会場および家電量販店の販売フロアなどに存在する人間の情報(たとえば、無線タグの識別情報,使用言語および行動履歴)なども記憶される。
The database stores a robot information table (see FIG. 4) indicating information on the
図4を参照して、ロボット情報テーブルには、ロボット名,状態,位置および対話相手などの情報が記憶される。ロボット名の欄には、ロボット12の名前(たとえば、R1,R2,…)が登録される。状態の欄には、該当するロボット12の現在の状態が登録される。具体的には、「BUSY」または「IDLE」が登録される。BUSYは、家電量販店の販売フロアにおいて人間と対話などのコミュニケーション行動を実行している状態などを意味する。IDLEは人間と対話などのコミュニケーション行動を実行していない状態、すなわち、空いている状態を意味する。
Referring to FIG. 4, the robot information table stores information such as the robot name, state, position, and conversation partner. The name of the robot 12 (for example, R1, R2,...) Is registered in the robot name column. In the status column, the current status of the corresponding
図4に戻って、位置の欄には、当該ロボット12の現在位置の情報が登録される。この実施例では、当該ロボット12の配置された建物や会場などの場所を示す情報および当該場所においての当該ロボット12が現在存在している位置の座標が登録される。具体的には、ロボット名「R1」に対応して、位置の欄に、「家電量販店」,「販売フロア」および「120,140」が登録されている。このことから、ロボット名「R1」のロボット12は、「家電量販店」の「販売フロア」に配置され、その現在位置は、座標(120,140)で表される位置であることが分かる。
Returning to FIG. 4, information on the current position of the
なお、中央制御装置14のメモリないしデータベースには、ロボット12が配置される場所等の地図(マップ)データが記憶され、マップデータをXY座標で表し、これによって、ロボット12の位置を座標で表している。ただし、ロボット12は移動するため、その移動制御量をロボット12から得たり、別途環境センサ(カメラ,赤外線センサなど)を用いてロボット12の位置を監視したりするようにしてもよい。
The memory or database of the
対話相手の欄には、当該ロボット12が現在コミュニケーション行動を実行している人間の情報が登録される。具体的には、対話相手の識別情報(ID)に対応付けて、名前(たとえば、山田太郎),使用言語(たとえば、日本語)および現在位置(座標)などが登録される。また、当該ロボット12が人間と対話していない場合にはコミュニケーション行動を行う対象が存在しないことを表す「NULL」が登録される。
In the dialogue partner column, information on the person who is currently performing the communication action of the
中央制御装置14は、ロボット12との通信によって当該ロボット12の状態を示す情報,位置を示す情報および対話相手を示す情報などを一定時間ごとに取得して、ロボット情報テーブルを作成および更新する。図4には示していないが、たとえば、対話相手の来訪回数や来訪してからの経過時間およびロボット12が当該相手にすでに実行した行動の履歴(たとえば、挨拶を済ませたなど)などの情報も必要に応じてデータベースから取得して適宜登録するようにしてもよい。なお、ロボット情報テーブルには、当該ロボット12のアドレス(IPアドレス)も登録されてもよい。
The
図5を参照して、オペレータ端末情報テーブルには、ID,名前,状態,所在地,ステータス値およびスキルリストなどの情報が登録される。IDの欄には、操作端末16またはこの操作端末16を操作するオペレータを識別するための識別情報が登録される。この実施例では、IDは数値で表される。ただし、「id_max」は、操作端末ないしオペレータの最大値に対応する定数である。名前の欄には、当該操作端末16を操作するオペレータの名前が登録される。状態の欄には、当該操作端末16の現在の状態が登録される。具体的には「IDLE」および「BUSY−R1」などが記載される。「IDLE」は、現在ロボット12を操作せずに、中央制御装置14からの呼び出し待ちの状態(待機の状態)を意味する。「BUSY」は、ロボット12を遠隔操作している状態を意味し、たとえば、「BUSY−R1」と記載されている場合には、ロボット名「R1」のロボット12を操作している状態であることが分かる。所在地の欄には、当該操作端末16が設置されている場所(都道府県または地域など)が登録される。
Referring to FIG. 5, information such as ID, name, state, location, status value, and skill list is registered in the operator terminal information table. Identification information for identifying the operation terminal 16 or an operator who operates the operation terminal 16 is registered in the ID column. In this embodiment, the ID is represented by a numerical value. However, “id_max” is a constant corresponding to the maximum value of the operation terminal or the operator. In the name column, the name of the operator who operates the operation terminal 16 is registered. In the status column, the current status of the operation terminal 16 is registered. Specifically, “IDLE” and “BUSY-R1” are described. “IDLE” means a state of waiting for a call from the
ステータス値の情報は、さらに、経験,言語数およびスキル数の情報に分類される。このステータス値は、オペレータを検索するときに、ロボット遠隔操作システム10の使用者によって任意に決められた条件(使用者条件)と対比される情報であり、使用者によって設定および変更が可能である。なお、オペレータ検索処理(図13参照)の詳細については後述する。経験の欄には、ロボット12の操作歴(年月)が登録される。言語数の欄には、当該オペレータが話すことのできる言語の数が登録される。たとえば、当該オペレータが、日本語,英語および独語を話すことができる場合には、言語数の欄には「3」が登録される。スキル数の欄には、オペレータが持つ能力や知識など(以下、「スキル」という。)の数が登録される。具体的なスキルの内容については、スキルリストに登録される。スキルリストの情報には、各オペレータのスキルが記述される。このスキルリストは、オペレータを選択するときに、ロボット12が要求する条件と対比される。なお、オペレータ選択処理(図8−図11参照)の詳細については後述する。
The status value information is further classified into information on experience, the number of languages, and the number of skills. This status value is information to be compared with conditions (user conditions) arbitrarily determined by the user of the robot remote control system 10 when searching for an operator, and can be set and changed by the user. . Details of the operator search process (see FIG. 13) will be described later. In the experience column, the operation history (year / month) of the
スキルリストには、言語およびスキル1,スキル2,…,スキルM(M:自然数)の情報を含む。言語の欄には、当該オペレータが話すことのできる言語が登録される。スキル1,スキル2,…,スキルMの欄には、当該オペレータのスキルとして、得意とする分野または担当する分野(内容)が登録される。なお、オペレータ端末情報テーブルには、操作端末16のアドレス(IPアドレス)も登録されてよい。
The skill list includes information on language,
中央制御装置14は、たとえば、操作端末16との通信によって、当該操作端末16の位置,状態,所在地,ステータス値およびスキルリストの情報を一定時間毎に取得して、オペレータ端末情報テーブルを生成および更新する。或いは、状態,所在地,ステータス値およびスキルリストの変更があった場合には、当該操作端末16を操作するオペレータから中央制御装置14の管理者に通知し、中央制御装置14の管理者がオペレータ端末情報テーブルを生成および更新するようにしてもよい。
For example, the
たとえば、このオペレータ端末情報テーブルを参照すると、IDが「1」の操作端末16は、「大阪」に設置されており、当該操作端末16を操作するオペレータの名前が「山田」であることが分かる。また、当該オペレータ(山田)は、「日本語」を話すことができ、言語数は「1」であり、ロボット12の操作歴が「36ヶ月」であることが分かる。さらに、当該操作端末16の現在の状態が「IDLE」であることが分かる。さらにまた、当該オペレータ(山田)のスキル数は「1」であり、スキル1の内容から「パソコン担当」であることが分かる。
For example, referring to this operator terminal information table, it can be seen that the operation terminal 16 with ID “1” is installed in “Osaka” and the name of the operator who operates the operation terminal 16 is “Yamada”. . The operator (Yamada) can speak “Japanese”, the number of languages is “1”, and the operation history of the
同様に、IDが「2」の操作端末16は、「東京」に設置されており、当該操作端末16を操作するオペレータの名前が「鈴木」であることが分かる。また、当該オペレータ(鈴木)は、「日本語」および「英語」を話すことができ、言語数は「2」であり、ロボット12の操作歴は「2ヶ月」であることが分かる。さらに、当該操作端末16の現在の状態が「IDLE」であることが分かる。さらにまた、当該オペレータ(鈴木)のスキル数は「2」であり、スキル1の内容から「iPod担当」(「iPod」は、登録商標である)であることが分かり、スキル2の内容から「ラグビー」の知識が有ることが分かる。
Similarly, the operation terminal 16 with the ID “2” is installed in “Tokyo”, and it is understood that the name of the operator who operates the operation terminal 16 is “Suzuki”. The operator (Suzuki) can speak “Japanese” and “English”, the number of languages is “2”, and the operation history of the
さらに、操作端末IDが「id_max」の操作端末16は、「福岡」に設置されており、当該操作端末16を操作するオペレータの名前が「宮崎」であることが分かる。また、当該オペレータ(宮崎)は、「日本語」,「英語」および「独語」を話すことができ、言語数は「3」であり、ロボット12の操作歴は「12ヶ月」であることが分かる。さらに、当該操作端末16の現在状態が「BUSY−R1」(ロボットR1を操作している状態)であることが分かる。さらにまた、当該オペレータ(宮崎)のスキル数は「M」であり、スキル1の内容から「家電担当」であることが分かり、スキル2の内容から「サッカー」の知識が有ることが分かり、スキルMの内容から「野球」の知識が有ることが分かる。
Further, it is understood that the operation terminal 16 having the operation terminal ID “id_max” is installed in “Fukuoka”, and the name of the operator who operates the operation terminal 16 is “Miyazaki”. The operator (Miyazaki) can speak “Japanese”, “English”, and “German”, the number of languages is “3”, and the operation history of the
なお、図示は省略するが、操作端末16をオペレータが操作していない場合(オフラインの場合)は、「NULL」(すなわち、遠隔操作不能な状態)と登録されてもよい。 Although illustration is omitted, when the operation terminal 16 is not operated by the operator (when offline), “NULL” (that is, a state in which remote operation is not possible) may be registered.
図1に示した操作端末16は、コンピュータであり、図示は省略するがCPUを含み、CPUにはメモリ,表示装置,入力装置,スピーカ,マイクおよび通信装置などが接続される。操作端末16は、通信装置を介してネットワーク100に有線または無線で接続されている。メモリには、当該操作端末16の動作を制御するための制御プログラムおよび必要なデータが記録される。制御プログラムは、たとえば、ロボット12および中央制御装置14との間で必要なデータやコマンドを送受信するための通信プログラム、入力装置から入力された操作コマンドを検出する検出プログラムおよび表示装置に画像などを表示するための表示プログラムなどを含む。
The operation terminal 16 shown in FIG. 1 is a computer and includes a CPU (not shown). A memory, a display device, an input device, a speaker, a microphone, a communication device, and the like are connected to the CPU. The operation terminal 16 is connected to the
表示装置は、LCDやCRTであり、この表示装置には、後述するように、GUIとしてロボットカメラ画像212,ロボット情報214および操作パネル216などを含む遠隔操作画面210(図6参照)が表示される。入力装置はコンピュータマウス,キーボードおよびタッチパネルなどである。たとえば、オペレータは、表示装置に表示された遠隔操作画面210を見て入力装置を操作することによって、ロボット12を遠隔操作するための遠隔操作コマンドを入力することができる。スピーカは、主として遠隔操作するロボット12のマイク54を通して検出された人間の音声を出力する。さらに、マイクは、主として、オペレータの音声を検出し、オペレータの音声はロボット12のスピーカ52を通じて出力される。
The display device is an LCD or CRT. As will be described later, a remote operation screen 210 (see FIG. 6) including a
図6を参照して、この遠隔操作画面210では、たとえば、ロボットカメラ画像212、ロボット情報214および操作パネル216が表示される。ロボットカメラ画像212には、ロボット12から受信した眼カメラ58の撮影画像が表示される。これによって、オペレータは、ロボット12の眼カメラ58が捕らえている画像、たとえば、対話している人間をリアルタイムで見ることができる。
Referring to FIG. 6, on remote operation screen 210, for example,
ロボット情報214には、当該ロボット12の情報、状況および対話相手の情報などが表示される。具体的には、当該ロボット12の配置された場所(イベント会場や家電量販店など),名前(もしくは識別情報),配置された場所の地図および対話している人間の情報が表示される。地図には、ロボット12および対話相手を示すアイコンが各存在位置に対応して表示される。これによって、ロボット12が設置場所のどこに存在しているのか、対話相手がロボット12に対してどこに存在しているのかなどを、オペレータは容易に把握することができる。
In the
なお、操作端末16は、地図情報を予め記憶しておいてもよいし、中央制御装置14から当該ロボット12に関する情報とともに受信するようにしてもよい。また、ロボット12および対話相手の位置は、たとえばロボット12から一定時間ごとに操作端末16に送信される。ロボット12は、初期の配置位置および向きを記憶しているので、自分の現在の位置および向きを常に把握し、赤外線距離センサ28の出力情報と自分の位置などから対話相手のおよその位置を推定できる。また、地図には、その場所に存在する対話相手以外の人間を示すアイコンも表示されてよい。この場合には、オペレータはその場所におけるロボット12の状況をさらに詳細に知ることができる。
The operation terminal 16 may store map information in advance or may receive the map information together with information related to the
また、ロボット12の配置場所における人間の位置情報は、周囲に設置された天井カメラまたは無線タグ読取装置などのような環境のセンサを用いて、当該環境のセンサと接続された他のコンピュータで検出してよく、当該他のコンピュータからロボット12に与え、ロボット12から操作端末16に送信されてもよい。または、当該位置情報は上述の他のコンピュータから中央制御装置14を経由して、操作端末16に送信されてもよい。また、環境のセンサによってロボット12の位置なども検出可能であるので、ロボット12は、自分の位置および向きなどの情報も、人間の位置情報などとともに上述の他のコンピュータから取得してもよい。
Further, the position information of the person at the location where the
また、対話している人間の情報としては、名前,所属(たとえば、カウンターの人間や来客),来店回数,前回の来店日,今回の来店後の経過時間およびロボット12が当該相手にすでに行ったコミュニケーション行動の履歴などが表示される。これによって、オペレータは、ロボット12の対話相手の情報を知ることができる。対話相手の情報は、中央制御装置14から操作端末16に送信される。なお、これらオペレータに提示される情報は一例であり、ロボット情報214には適宜適切な情報が表示される。このようなロボット情報214によって、オペレータは、ロボット12および対話相手の情報ならびに両者の置かれている状況などを容易に把握することができる。
In addition, as information of the person who is interacting, the name, affiliation (for example, counter person or visitor), the number of visits to the store, the date of the previous visit, the elapsed time since this visit, and the
さらに、ロボット12と対話相手が話している場合には、ロボット12から音声情報が送信されて、操作端末16のスピーカから当該音声が出力される。したがって、オペレータは、さらに対話相手の言葉を聞くことによって、現在の状況をより容易に把握することができる。また、オペレータは、遠隔操作画面でロボット12の状況を確認しながら、対話相手からの質問の内容を容易に判断することができるため、質問に対する回答を操作端末16およびロボット12を介して、対話相手に答えることができる。
Further, when the
操作パネル216では、オペレータが入力装置を操作することにより、ロボット12の動作を制御する操作コマンドが入力される。たとえば、図6に示すように、操作パネル216には、移動を指示するためのボタン,コミュニケーション行動を指示するためのボタンおよび遠隔操作の終了を指示するためのボタンなどが設けられる。具体的には、「前進」ボタンは、ロボット12を前進させるためのボタンである。オペレータが、「前進」ボタンを選択すると、ロボット12は、たとえば、一定距離だけ前進する。同様に、「後退」ボタンはロボット12を後退させ、「右」ボタンはロボット12を右旋回させ、「左」ボタンはロボット12を左旋回させる。また、「お辞儀」ボタンは、ロボット12にお辞儀というコミュニケーション行動を実行させるためのボタンである。具体的には、オペレータが「お辞儀」ボタンを選択すると、ロボット12は、首関節48を制御して頭部50を下に向け、すなわち、お辞儀をする。また、「右指差し」のボタンは、ロボット12に右指差しというコミュニケーション行動を実行させためのボタンである。具体的には、オペレータが「右指差し」のボタンを選択すると、ロボット12は、右肩関節36Rおよび右肘関節40Rを制御して腕を前方に上げる。同様にして、操作パネル216に表示されたボタンをオペレータが選択することにより、ロボット12に、うなずき、左指差しなどの身振りや発話を含む所定のコミュニケーション行動を実行させることができる。また、「終了」ボタンは、遠隔操作を終了させるためのボタンである。オペレータが「終了」ボタンを選択すると、ロボット12は遠隔操作モードから自律制御モードに移行する。
On the
操作端末16は、中央制御装置14に選ばれたオペレータに基づいて呼び出される。対話相手の質問は、ロボット12のマイク54によって取得され、ネットワーク100を介してスピーカから出力される。オペレータは、対話相手がした質問を聞くと、操作パネル216に対応するコミュニケーション行動や、オペレータ自身の音声などで対話相手の質問に答えることで対応する。
The operation terminal 16 is called based on the operator selected by the
このロボット遠隔操作システム10では、上述したように、ロボット12は、通常、自律制御によって、人間との間でコミュニケーション行動を行い、受付や案内などのサービスを提供する。しかし、自律制御だけでは対応することが難しい状況になった場合など、必要に応じて、当該ロボット12は、操作端末16つまりオペレータを呼び出す。ロボット12には、図示は省略するが、オペレータを呼び出すための条件(オペレータ呼出条件)が予めメモリ64に記憶されている。ロボット12は、オペレータ呼出条件を満足すると判定した場合に、オペレータを呼び出す。ロボット12は、中央制御装置14にオペレータの呼出要求を送信する。中央制御装置14は、オペレータの呼出要求を受けると、オペレータを選択する。簡単に説明すると、ロボット12が対話(コミュニケーション)する人間が要求する条件(質問など)を検出し、この条件に合致する1または複数のオペレータを選択する。そして、選択したオペレータにロボット情報を送信して、各オペレータが操作する操作端末16とロボット12とを通信可能に接続される。
In the robot remote operation system 10, as described above, the
具体的には、中央制御装置14のCPUは、図7−図14に示す処理を含む、複数の処理を並行的に実行する。また、ロボット12のCPU60は、図16−図18に示す処理を含む、複数の処理を並行的に実行する。さらに、操作端末16のCPUは、図19に示す遠隔操作対応処理を含む、複数の処理を並行的に実行する。
Specifically, the CPU of the
図7に示すように、中央制御装置14のCPUは、全体処理を開始すると、ステップS1で、各操作端末16の状態を取得し、テーブルを更新する。具体的には、中央制御装置14のCPUは、各操作端末16から、その位置,オペレータの情報および現在の使用状況などを含む情報を取得し、図5に示したようなオペレータ端末情報テーブルを更新する。次のステップS3では、各ロボット12の状態を取得し、テーブルを更新する。具体的には、中央制御装置14のCPUは、各ロボット12から、当該ロボット12の位置,現在の作動状態および対話相手の情報などを含む情報を取得し、図4に示したようなロボット情報テーブルを更新する。
As shown in FIG. 7, when starting the overall processing, the CPU of the
続いて、ステップS5では、ロボットxからの呼び出しがあるか否か、すなわち、或るロボット12からのオペレータ呼び出し要求を受信したか否かを判断する。ここでは、「ロボットx」は、複数台のロボット12のうちの或る1台のロボット12を意味する。ステップS5でNOであれば、すなわちロボットxからの呼び出しが無ければ、ステップS15で、全体処理を終了するか否かを判断する。ここでは、たとえば、ロボット遠隔操作システム10の使用者ないし中央制御装置14の管理者から終了指示が与えられたかどうかを判断する。ステップS15でYESであれば、つまり終了指示があれば、そのまま全体処理を終了する。一方、ステップS15でNOであれば、つまり終了指示がなければ、ステップS1に戻る。このように、中央制御装置14では、オペレータ操作端末テーブルの更新、ロボット情報テーブルの更新および呼び出し要求の有無の判断が一定時間毎に繰り返し実行される。
Subsequently, in step S5, it is determined whether there is a call from the robot x, that is, whether an operator call request from a
また、ステップS5でYESであれば、すなわちロボットxからの呼び出しがあれば、ステップS7で、後述するオペレータ選択処理(図8−図11参照)を行う。次のステップS9では、オペレータOPkが選択されたか否かを判断する。この「オペレータOPk」は、オペレータ選択処理で選択された1または複数のオペレータを意味する。ただし、オペレータが選択されていない場合もある。つまり、変数kは0,1,…,j(最大値)のいずれかの値を取る。ステップS9でNOであれば、すなわち、1人もオペレータOPkが選択されていない場合には、ステップS13で、オペレータの呼び出しを要求してきたロボットxに「エラー」を送信して、ステップS15に進む。つまり、中央制御装置14のCPUは、ロボットxを操作するオペレータOPk(操作端末16)が存在しないことをロボット12に伝える。
If YES in step S5, that is, if there is a call from the robot x, an operator selection process (see FIGS. 8 to 11) described later is performed in step S7. In the next step S9, it is determined whether or not the operator OP k has been selected. The “operator OP k ” means one or more operators selected in the operator selection process. However, the operator may not be selected. That is, the variable k takes one of 0, 1,..., J (maximum value). If “NO” in the step S9, that is, if no operator OP k is selected, an “error” is transmitted to the robot x that has requested the operator to be called in a step S13, and the process proceeds to the step S15. move on. That is, the CPU of the
一方、ステップS9でYESであれば、すなわち、オペレータの呼び出しを要求してきたロボットxを操作するオペレータOPk(操作端末16)が選択された場合には、ステップS11で、後述するセンサ情報選択処理(図14参照)を実行して、ステップS15に進む。このステップS11では、ロボットxと、オペレータOPkが操作する操作端末16との通信速度によって、ロボットxから当該操作端末16に送信するセンサ情報(データの種類)を選択することにより、データ量が調整される。これは、通信時間の遅延を防止するためである。 On the other hand, if “YES” in the step S9, that is, if the operator OP k (the operation terminal 16) that operates the robot x that has requested the operator to call is selected, a sensor information selection process described later is performed in a step S11. (See FIG. 14) is executed, and the process proceeds to step S15. In step S11, the amount of data is reduced by selecting sensor information (data type) to be transmitted from the robot x to the operation terminal 16 according to the communication speed between the robot x and the operation terminal 16 operated by the operator OP k. Adjusted. This is to prevent a delay in communication time.
図8−図11は、図7に示したステップS7のオペレータ選択処理を示すフロー図である。図8に示すように、中央制御装置14のCPUは、オペレータ選択処理開始すると、ステップS31で、変数を初期化する。具体的には、変数kおよび変数jのそれぞれに1が設定され、変数jpn,変数engおよび変数deuのそれぞれに0が設定される。ここで、変数kは選択されたオペレータOPkを個別に識別するための変数であり、変数jは選択されたオペレータOPkの人数のカウント値(総数)を示す。また、変数jpnはロボットxが対話している人間の音声から日本語らしさ演算をした演算結果を格納し、変数engはロボットxが対話している人間の音声から英語らしさ演算をした演算結果を格納し、そして、変数deuはロボットxが対話している人間の音声からドイツ語らしさ演算をした演算結果を格納する。
FIGS. 8-11 is a flowchart which shows the operator selection process of step S7 shown in FIG. As shown in FIG. 8, when starting the operator selection process, the CPU of the
続いて、ステップS33では、条件リストLおよび残存条件リストLAを初期化する。つまり、条件リストLおよび残存条件リストLAに含まれる条件が全て消去される。条件リストLには、オペレータを検索するための1または複数の条件が記述される。この実施例では、条件リストLは、条件(L0+LiL)(iL=1,2,…,LN)と表される。条件L0は、言語についての条件であり、この実施例では、日本語,英語およびドイツ語のいずれかが設定される。また、条件LiLは言語以外の他の条件であり、変数iLによって個別に識別される。 Subsequently, in step S33, the condition list L and the remaining condition list LA are initialized. That is, all the conditions included in the condition list L and the remaining condition list LA are deleted. The condition list L describes one or more conditions for searching for an operator. In this embodiment, the condition list L is expressed as a condition (L 0 + L iL ) (iL = 1, 2,..., LN). Conditions L 0 is a condition of the language, in this example, Japanese, one of the English and German are set. The condition L iL is a condition other than language, and is individually identified by the variable iL.
次のステップS35では、ロボットxに音声入力が有るか否かを判断する。つまり、中央制御装置14のCPUは、対話相手の音声がロボットxで検出され、検出された音声に対応する音声信号がロボットxから送信され、その音声信号を受信したか否かを判断する。ステップS35でNOであれば、つまりロボットxに音声入力が無ければ、ステップS37で、ロボットxに音声の出力を指示して、ステップS35に戻る。ステップS37では、たとえば、「何か御用でしょうか?」などのように、対話相手に発話させるような音声をロボット12から出力させるためのコマンドがロボットxに送信される。このようにして、中央制御装置14のCPUは、対話相手の質問(要求)を聞き出して、条件リストLを作成するのである。
In the next step S35, it is determined whether or not the robot x has a voice input. That is, the CPU of the
また、ステップS35でYESであれば、つまり、ロボットxに音声入力があれば、ステップS41で、日本語らしさ演算を行う。ここで、日本語らしさ演算とは、ロボットxの対話相手の言語がどれだけ日本語に近いかの割合を求める演算である。具体的には、中央制御装置14のCPUは、受信した音声信号を、日本語用辞書を用いてDPマッチング法やHMM(隠れマルコフモデル)法により音声認識し、認識結果とそのスコア(近似度ないし正確さを示す割合)とを得る。次のステップS43では、演算結果を変数jpnに格納する。ここでは、上述のようにして演算した結果のうち、スコアを日本語らしさとして変数jpnに格納する。
If “YES” in the step S35, that is, if there is a voice input to the robot x, a Japanese-likeness calculation is performed in a step S41. Here, the Japanese-likeness calculation is an operation for obtaining a ratio of how close the language of the conversation partner of the robot x is to Japanese. Specifically, the CPU of the
続くステップS45では、英語らしさ演算を行う。ここでは、中央制御装置14のCPUは、英語用辞書を用いて、ステップS41と同様の方法で音声認識し、認識結果とそのスコアとを得る。そして、ステップS47で、演算結果(スコア)を英語らしさとして変数engに格納する。図9に示すように、次のステップS49では、ドイツ語らしさ演算を行う。ここでは、中央制御装置14のCPUは、ドイツ語用辞書を用いて、ステップS41と同様の方法で音声認識し、認識結果とスコアとを得る。次のステップS51では、演算結果(スコア)をドイツ語らしさとして変数deuに格納する。
In the following step S45, English-likeness calculation is performed. Here, the CPU of the
次のステップS53では、変数jpnが変数engよりも大きいか否かを判断する。つまり、ここでは、中央制御装置14のCPUは、ロボットxの対話相手の言語が日本語または英語のどちらに近いのかを判断する。ここでYESであれば、つまり変数jpnが変数engよりも大きければ、ロボットxの対話相手の言語が英語よりも日本語に近いと判断し、ステップS55で、変数jpnが変数deuよりも大きいか否かを判断する。つまり、ここでは、中央制御装置14のCPUは、ロボットxの対話相手の言語が日本語またはドイツ語のどちらに近いのかを判断する。
In the next step S53, it is determined whether or not the variable jpn is larger than the variable eng. That is, here, the CPU of the
ステップS55でYESであれば、つまり変数jpnが変数deuよりも大きければ、ロボットxの対話相手の言語がドイツ語よりも日本語に近いと判断し、ステップS57で、条件L0を日本語に設定して、ステップS65に進む。一方、ステップS55でNOであれば、つまり変数jpnが変数deu以下であれば、ロボットxの対話相手の言語が日本語よりもドイツ語に近いと判断し、ステップS61で、条件L0をドイツ語に設定して、ステップS65に進む。 If YES in the step S55, that is, if the variable jpn is greater than the variable deu, dialogue partner of the language of the robot x is determined that the closer to the Japanese than German, in step S57, the condition L 0 to Japanese Set and proceed to step S65. On the other hand, if NO in step S55, that is, if variable jpn is equal to or smaller than variable deu, it is determined that the language of the conversation partner of robot x is closer to German than Japanese, and in step S61, condition L 0 is set to German. Set the word and go to step S65.
また、上述したステップS53でNOであれば、つまり変数jpnが変数eng以下であれば、ロボットxの対話相手の言語が日本語よりも英語に近いと判断し、ステップS59で、変数engが変数deuよりも大きいか否かを判断する。ここでは、中央制御装置14のCPUは、ロボットxの対話相手の言語が英語またはドイツ語のどちらに近いのかを判断する。
If NO in step S53 described above, that is, if the variable jpn is equal to or smaller than the variable eng, it is determined that the language of the conversation partner of the robot x is closer to English than Japanese, and the variable eng is a variable in step S59. It is determined whether it is larger than deu. Here, the CPU of the
ステップS59でYESであれば、つまり変数engが変数deuよりも大きければ、ロボットxの対話相手の言語がドイツ語よりも英語に近いと判断し、ステップS63で、条件L0を英語に設定して、ステップS65に進む。一方、ステップS59でNOであれば、つまり変数engが変数deu以下であれば、ロボットxの対話相手の言語が英語よりもドイツ語に近いと判断し、ステップS61に進む。 If YES in the step S59, that is, greater than the variable eng is variable deu, dialogue partner of the language of the robot x is determined that the closer to the English than German, in step S63, to set the conditions L 0 in English Then, the process proceeds to step S65. On the other hand, if NO in step S59, that is, if the variable eng is equal to or smaller than the variable deu, it is determined that the language of the conversation partner of the robot x is closer to German than English, and the process proceeds to step S61.
続いて、ステップS65で、後述する条件リスト作成処理(図12参照)を実行し、ステップS67で、後述するオペレータ検索処理(図13参照)を実行し、図10に示すステップS69では、ステップS67で検索されたオペレータOPk(k=1)が条件リストLの全ての条件を満たしているか否かを判断する。つまり、中央制御装置14のCPUは、検索された1人目のオペレータOPkの言語およびスキルが、条件リストLのすべての条件に合致するか、または包含しているかを判断するのである。
Subsequently, in step S65, a condition list creation process (see FIG. 12) described later is executed, an operator search process (see FIG. 13) described later is executed in step S67, and in step S69 shown in FIG. 10, step S67 is executed. It is determined whether or not the operator OP k (k = 1) retrieved in
ステップS69でYESであれば、つまり1人目のオペレータOPkが条件リストLのすべての条件を満たす場合には、そのまま図11に示すステップS83に進む。一方、ステップS69でNOであれば、つまり、1人目のオペレータOPkでは、条件リストLの一部の条件しか満たしていない場合には、ステップS71で、残存条件リストLAを作成する。つまり、オペレータOPkが満たしていない残りの条件についてのリスト(残存条件リストLA)を作成(更新)する。ここで、残存条件リストLAは、残存条件(LA0+LAiLA)(iLA=1,2,…,LAN)と表すことができる。残存条件LA0は、言語についての条件であり、条件L0と一致する。また、残存条件LAiLAは言語以外の他の条件である。ただし、変数LNAは、言語以外の残存条件LAiLAの最大値(最大数)を示す。具体的には、残存条件リストLAは、数1および数2に従って作成(更新)される。
[数1]
残存条件LA0=条件L0
[数2]
残存条件LAiLA=条件LiL−GetList(オペレータOPk)
ただし、数2では、オペレータOPk(k=0,1,…,j)が満たす条件(スキル)を「GetList(オペレータOPk)」関数によってオペレータ端末情報テーブルから読み出し、条件リストLに含まれる条件LiLから削除して、残存条件LAiLAを決定する。たとえば、オペレータOP1が「パソコン売り場」のスキルを持ち、条件リストLに条件として「パソコン売り場」および「iPod」が含まれている場合に、数2に従って残存条件リストLAを作成すると、条件リストLに含まれる条件から、オペレータOP1が持つスキル「パソコン売り場」が削除され、残存条件リストLAに条件として「iPod」が設定される。
If “YES” in the step S69, that is, if the first operator OP k satisfies all the conditions in the condition list L, the process proceeds to a step S83 shown in FIG. On the other hand, if NO in step S69, that is, if the first operator OP k satisfies only a part of the conditions in the condition list L, the remaining condition list LA is created in step S71. That is, a list (remaining condition list LA) for the remaining conditions not satisfied by the operator OP k is created (updated). Here, the remaining condition list LA can be expressed as a remaining condition (LA 0 + LA iLA ) (iLA = 1, 2,..., LAN). The remaining condition LA 0 is a language condition and matches the condition L 0 . The remaining condition LA iLA is a condition other than language. However, the variable LNA indicates the maximum value (maximum number) of the remaining conditions LA iLA other than the language. Specifically, the remaining condition list LA is created (updated) according to
[Equation 1]
Residual condition LA 0 = condition L 0
[Equation 2]
Residual condition LA iLA = condition L iL -GetList (operator OP k )
However, in
続いて、ステップS73では、変数kおよび変数jをインクリメントする。つまり、検索されたオペレータOPkの番目と、選択されたオペレータOPkの総数jとが、それぞれ1加算される。次のステップS75では、残存条件リストLAを最も満たすオペレータの検索処理(図13参照)を実行する。さらに、ステップS77では、ステップS75で検索されたオペレータOPkが残存条件リストLAのすべての条件を満たしているか否かを判断する。ここで、YESであれば、つまり、ステップS75で検索されたオペレータOPkが残存条件リストLAのすべての条件を満たしている場合には、ステップS83に進む。 Subsequently, in step S73, the variable k and the variable j are incremented. That is, the second operator OP k that retrieved, the total number j of the selected operator OP k are respectively 1 added. In the next step S75, a search process (see FIG. 13) for the operator that best satisfies the remaining condition list LA is executed. Further, in step S77, it is determined whether or not the operator OP k searched in step S75 satisfies all the conditions in the remaining condition list LA. If YES here, that is, if the operator OP k searched in step S75 satisfies all the conditions in the remaining condition list LA, the process proceeds to step S83.
ここで、ステップS77でNOであれば、つまり、ステップS75で検索されたオペレータOPkが残存条件リストLAの一部を満たす場合には、ステップS79で、条件リストLのすべての条件のうち、80%以上の条件を満たしているか否かを判断する。たとえば、条件リストLに5つの条件が含まれる場合に、そのうちの4つの条件を満たしたか否かを判断する。ステップS79でYESであれば、つまり、条件リストLのすべての条件のうち、80%以上の条件を満たしている場合には、ステップS83に進む。一方、ステップS79でNOであれば、つまり、条件リストLのすべての条件のうち、80%未満の条件しか満たしていない場合には、ステップS81で、検索したオペレータOPkの人数が3人以上であるか否かを判断する。つまり、変数kまたは変数(総数)jが3以上であるかどうかを判断する。ここで、ステップ81でNOであれば、オペレータOPkが3人未満であれば、そのままステップS71に戻って、残存条件リストLAを更新し、次のオペレータOPkを検索する。
Here, if NO in step S77, that is, if the operator OP k searched in step S75 satisfies a part of the remaining condition list LA, in step S79, among all the conditions in the condition list L, It is determined whether or not the condition of 80% or more is satisfied. For example, when the condition list L includes five conditions, it is determined whether or not four of the conditions are satisfied. If “YES” in the step S79, that is, if 80% or more of the conditions in the condition list L are satisfied, the process proceeds to a step S83. On the other hand, if NO in step S79, that is, of all the conditions of the condition list L, if not satisfied only 80% less than condition, in step S81, the number of the operator OP k is three or more retrieved It is determined whether or not. That is, it is determined whether or not the variable k or the variable (total number) j is 3 or more. If “NO” in the
このように、条件リストLのすべての条件のうちの一定の割合を超える数の条件を満たしたり、検索されたオペレータOPkの数が一定数を超えたりする場合にも、後述の処理に以降するのは、無限ループになってしまったり、ほとんどの場合にロボット12に「エラー」を送信してしまうような不都合を回避するためである。また、選択されたオペレータOPkの人数があまり多くなり過ぎると、オペレータOPk間で、ロボット12の遠隔操作の方法や順番等を調整するのが煩わしくなってしまうからである。ただし、「80%」や「3人」は単なる一例であり、これに限定される必要はなく、任意に設定することができる。また、条件リストLを満たす割合やオペレータOPkの数は、条件リストLに含まれる条件の数に応じて可変的に設定するようにしてもよい。
As described above, even when the number of conditions exceeding a certain ratio among all the conditions in the condition list L is satisfied, or when the number of retrieved operators OP k exceeds a certain number, the processing described later is performed. This is to avoid inconveniences such as an infinite loop or in most cases an “error” is transmitted to the
図11に示すように、ステップS83では、選択されたオペレータOPkが使用する操作端末16を、ロボットxに紹介する。たとえば、中央制御装置14のCPUは、ロボットxに対して、選択されたオペレータOPkが使用する操作端末16の接続情報(IPアドレス)を送信する。続いて、ステップS85では、選択されたオペレータOPkが使用する操作端末16に、ロボットxの遠隔操作依頼を送信する。たとえば、選択されたオペレータOPkが操作する操作端末16に対して、呼出要求を送信したロボットxの接続情報(IPアドレス)を送付する。
As shown in FIG. 11, in step S83, the operation terminal 16 used by the selected operator OP k is introduced to the robot x. For example, the CPU of the
なお、図示は省略するが、ステップS85では、オペレータ端末情報テーブルにおいて、選択されたオペレータOPkが使用する操作端末16の状態が「BUSY−Rx」に更新される。 Although not shown, in step S85, the in operator terminal information table, the operator OP k is selected states of the operation terminal 16 to be used is updated to "BUSY-Rx".
そして、ステップS87では、変数jが0より大きいか否かを判断する。すなわち、選択されたオペレータOPkが2人以上であるか否かを判断する。ステップS87でNOであれば、つまり変数jが0以下であれば、図7に示した全体処理にリターンする。一方、ステップS87でYESであれば、つまり、変数jが1以上であれば、ステップS89で、選択されたオペレータOPk間の通信を確立して、全体処理にリターンする。 In step S87, it is determined whether or not the variable j is greater than zero. That is, it is determined whether or not there are two or more selected operators OP k . If “NO” in the step S87, that is, if the variable j is 0 or less, the process returns to the entire process illustrated in FIG. On the other hand, if “YES” in the step S87, that is, if the variable j is 1 or more, the communication between the selected operators OP k is established in a step S89, and the process returns to the entire process.
たとえば、ステップS89では、中央制御装置14のCPUは、選択された2人以上のオペレータに対して、それぞれ、他のオペレータが使用する操作端末16の接続情報(IPアドレス)を通知するとともに、チャットソフトを起動させる(音声チャット処理の実行させる)コマンドが送信される。したがって、選択されたオペレータOPkの各オペレータ端末16は他のオペレータ端末16と通信可能に接続され、たとえば、オペレータOPk同士が音声チャットにより、ロボットxの遠隔操作についての情報交換や調整を行うことができる。これにより、ロボットxの遠隔操作を円滑に実行し、ロボットxを通して、このロボットxの対話相手と円滑にコミュニケーションすることができる。
For example, in step S89, the CPU of the
なお、この実施例では、簡単のため、音声チャットにより、オペレータOPk同士が会話するようにしてあるが、テキスト入力によりチャットするようにしてもよい。或いは、音声とテキストとの両方を用いたチャットであってもよい。 In this embodiment, for the sake of simplicity, the operators OP k communicate with each other by voice chat. However, the chat may be performed by text input. Alternatively, it may be a chat using both voice and text.
図12は、図9に示したステップS65の条件リスト作成処理のフロー図である。図12に示すように、中央制御装置14のCPUは、条件リスト作成処理を開始すると、ステップS101で、ロボットxで検出された音声からキーワードリストKLを作成する。簡単に説明すると、ロボットxで検出された対話相手の音声対応する音声信号を音声認識する。ここでは、上述した音声認識の結果に、周知の形態素解析の処理を施し、名詞に相当する単語(キーワード)を抽出する。そして、抽出されたすべてのキーワードがキーワードリストKLに設定される。ここで、抽出されたキーワードは、条件L0(言語)以外の条件LiLとして条件リストLに設定される。たとえば、音声認識の結果が「パソコンはどこですか?あと、iPodも探しています。」である場合には、キーワードとして、「パソコン」および「iPod」が抽出され、たとえば、条件L1として「パソコン」が設定され、条件L2として「iPod」が設定される。
FIG. 12 is a flowchart of the condition list creation process in step S65 shown in FIG. As shown in FIG. 12, when starting the condition list creation process, the CPU of the
続いて、ステップS103では、変数KLNにキーワードリストKLのキーワード数を設定する。ここで設定されるキーワード数は、抽出したキーワードの総数である。次のステップS105では、変数を初期化する。つまり、上述した、条件リストLに含まれる条件の数をカウントする変数LNに1が設定され、抽出したキーワードを順番に指定するための変数iLBに0が設定される。 In step S103, the number of keywords in the keyword list KL is set in the variable KLN. The number of keywords set here is the total number of extracted keywords. In the next step S105, variables are initialized. That is, 1 is set in the variable LN for counting the number of conditions included in the condition list L, and 0 is set in the variable iLB for sequentially specifying the extracted keywords.
続いて、ステップS107では、変数KLNが0より大きいか否かを判断する。つまり、対話相手の音声からキーワードが抽出されたか否かを判断する。ステップS107でNOであれば、つまり、変数KLNが0であれば、対話相手の音声からキーワードが抽出されていないと判断して、そのまま図8−図11に示したオペレータ選択処理にリターンする。一方、ステップS107でYESであれば、つまり、変数KLNが1以上であれば、対話相手の音声からキーワードが抽出されたと判断して、ステップS109へ進む。 Subsequently, in step S107, it is determined whether or not the variable KLN is greater than zero. That is, it is determined whether or not a keyword has been extracted from the voice of the conversation partner. If “NO” in the step S107, that is, if the variable KLN is 0, it is determined that no keyword is extracted from the voice of the conversation partner, and the process directly returns to the operator selection process shown in FIGS. On the other hand, if “YES” in the step S107, that is, if the variable KLN is 1 or more, it is determined that the keyword is extracted from the voice of the conversation partner, and the process proceeds to the step S109.
ステップS109では、条件LLNにキーワードKLiLBを設定する。たとえば、キーワードKL0に「パソコン」が設定されている場合には、条件L1として「パソコン」が設定される。続いて、ステップS111で、変数iLBと変数LNとのそれぞれをインクリメントする。次のステップS113では、変数iLBと変数KLNとが等しいかどうかを判断する。つまり、キーワードリストKLに含まれるキーワードをすべて条件リストLに設定したか否かを判断する。ステップS113でYESであれば、つまり、変数iLBと変数KLNとが等しければ、そのままオペレータ選択処理にリターンする。一方、ステップS113でNOであれば、つまり変数iLBと変数KLNとが等しくなければ、ステップS109に戻る。 In step S109, the keyword KL iLB is set in the condition L LN . For example, when “PC” is set as the keyword KL 0 , “PC” is set as the condition L 1 . Subsequently, in step S111, each of the variable iLB and the variable LN is incremented. In the next step S113, it is determined whether or not the variable iLB and the variable KLN are equal. That is, it is determined whether or not all the keywords included in the keyword list KL are set in the condition list L. If “YES” in the step S113, that is, if the variable iLB and the variable KLN are equal, the process directly returns to the operator selection process. On the other hand, if “NO” in the step S113, that is, if the variable iLB and the variable KLN are not equal, the process returns to the step S109.
図13は、図9に示したステップS67および図10に示したステップS75のオペレータの検索処理を示すフロー図である。図13に示すように、中央制御装置14のCPUは、オペレータの検索処理を開始すると、ステップS201で、残存条件リストLAが初期化されているか否かを判断する。つまり、中央制御装置14のCPUは、条件リストLを満たすオペレータを検索しているのか、残存条件リストLAを満たすオペレータを検索しているのかを判断する。よって、ステップS201でYESであれば、つまり残存条件リストLAが初期化されていれば、条件リストLを用いてオペレータを検索すると判断して、ステップS203で、検索条件リストLBとして条件リストLを設定する。しかし、ステップS201でNOであれば、つまり残存条件リストLAが初期化されていなければ、残存条件リストLAを用いてオペレータを検索すると判断して、ステップS205で、検索条件リストLBとして残存条件リストLAを設定する。ここで、「検索条件LBiLC」は、検索条件リストLBに含まれる条件の1つを指し、「iLC」は、検索条件リストLBの集合に含まれる各条件を個別に指定するための変数である。また、検索条件リストLBには、条件リストLまたは残存条件リストLAが設定されるため、検索条件リストLBに含まれる条件の総数は、それぞれのリストに含まれる条件の総数に対応する変数LNまたは変数LANとなる。
FIG. 13 is a flowchart showing the operator search processing in step S67 shown in FIG. 9 and step S75 shown in FIG. As shown in FIG. 13, when the CPU of the
続いてステップS207では、変数を初期化する。具体的には、変数iLC,変数kaおよび変数idに1を設定する。ここで、変数iLCは、検索条件リストLBに含まれる条件を個別に指定するための変数である。また、変数kaは、スキルリストに含まれるスキルを個別に指定するための変数である。変数idは、オペレータ(操作端末16)を個別に指定するための変数である。 In step S207, variables are initialized. Specifically, 1 is set to the variable iLC, the variable ka, and the variable id. Here, the variable iLC is a variable for individually specifying the conditions included in the search condition list LB. The variable ka is a variable for individually specifying skills included in the skill list. The variable id is a variable for individually specifying an operator (operation terminal 16).
次のステップS209では、配列match[1〜id_max]を初期化する。すなわち、中央制御装置14のCPUは、配列match[1]〜match[id_max]に0を設定する。ここで、配列match[1〜id_max]の配列番号は、図5に示したオペレータ端末情報テーブルのオペレータ(操作端末16)のIDに対応している。このオペレータのIDで指定された配列match[1〜id_max]には、当該オペレータが持つスキルと条件リストLに含まれる条件とが一致した数(一致数)が設定(記憶)される。
In the next step S209, the array match [1-id_max] is initialized. That is, the CPU of the
続くステップS211では、変数idがid_maxより大きいか否かを判断する。つまり、変数idがオペレータ端末情報テーブルに登録されるオペレータの総数を超えたか否かを判断する。ステップS211でNOであれば、つまり変数idがid_max以下であれば、ステップS213で、id_state(id)が「IDLE」であるか否かを判断する。ここで、関数id_state(id)は、変数idで指定したIDに対応して記載された状態を返す関数である。つまり、中央制御装置14のCPUは、オペレータ端末情報テーブルを参照して、変数idで指定するIDのオペレータ(操作端末16)が「待機中の状態」であるか否かを判断するのである。
In a succeeding step S211, it is determined whether or not the variable id is larger than id_max. That is, it is determined whether or not the variable id exceeds the total number of operators registered in the operator terminal information table. If “NO” in the step S211, that is, if the variable id is equal to or less than id_max, it is determined whether or not the id_state (id) is “IDLE” in a step S213. Here, the function id_state (id) is a function that returns a state described corresponding to the ID specified by the variable id. That is, the CPU of the
ステップS213でNOであれば、つまり、id_state(id)が「IDLE」でなければ、ステップS227で、変数idをインクリメントし、変数kaを初期化して、ステップS211に戻る。一方、ステップS213でYESであれば、つまりid_state(id)が「IDLE」であれば、ステップS215で、変数kaがid_sn(id)より大きいか否かを判断する。 If NO in step S213, that is, if id_state (id) is not "IDLE", the variable id is incremented in step S227, the variable ka is initialized, and the process returns to step S211. On the other hand, if “YES” in the step S213, that is, if id_state (id) is “IDLE”, it is determined whether or not the variable ka is larger than id_sn (id) in a step S215.
ここで、関数id_sn(id)は、変数idで指定するIDのオペレータが持つスキル数を返す関数である。したがって、ステップS215では、変数idで指定するIDのオペレータが持つすべてのスキルと、条件リストLに含まれるすべての条件との一致数/不一致を調べたか否かを判断するのである。ステップS215でYESであれば、つまり、変数kaがid_sn(id)より大きければ、そのままステップS227に進む。一方、ステップS215でNOであれば、つまり、変数kaがid_sn(id)以下であれば、ステップS217で、変数iLCが変数LBNより大きいか否かを判断する。つまり、検索条件LBiLCが、検索条件リストLBの総数(LBN)よりも大きいか否かを判断する。ステップS217でYESであれば、つまり変数iLCが変数LBNより大きければ、ステップS225で、変数kaをインクリメントし、変数iLCを初期化して、ステップS215に進む。一方、ステップS217でNOであれば、つまり変数iLCが変数LBN以下であれば、ステップS219で、検索条件LBiLCがid_sk(id,ka)と一致するか否かを判断する。 Here, the function id_sn (id) is a function that returns the number of skills possessed by the operator of the ID specified by the variable id. Therefore, in step S215, it is determined whether or not the number of matches / mismatch between all the skills of the operator with the ID specified by the variable id and all the conditions included in the condition list L has been examined. If “YES” in the step S215, that is, if the variable ka is larger than id_sn (id), the process proceeds to a step S227 as it is. On the other hand, if “NO” in the step S215, that is, if the variable ka is equal to or less than id_sn (id), it is determined whether or not the variable iLC is larger than the variable LBN in a step S217. That is, it is determined whether or not the search condition LB iLC is larger than the total number (LBN) of the search condition list LB. If “YES” in the step S217, that is, if the variable iLC is larger than the variable LBN, the variable ka is incremented in a step S225, the variable iLC is initialized, and the process proceeds to the step S215. On the other hand, if “NO” in the step S217, that is, if the variable iLC is equal to or less than the variable LBN, it is determined whether or not the search condition LB iLC matches id_sk (id, ka) in a step S219.
ここで、関数id_sk(id,ka)は、変数idで指定するIDのオペレータが持つスキルkaを返す関数である。たとえば、図5に示したオペレータ情報端末テーブルを参照して分かるように、関数id_sk(2,1)は「iPod」を返す。ステップS219でYESであれば、つまり、検索条件LBiLCがid_sk(id,ka)と一致すれば、ステップS221で、配列match[id]をインクリメントして、ステップS223に進む。つまり、ステップS221では、変数idが示すIDのオペレータについて、当該オペレータのスキルと、条件リストLまたは残存条件リストLAの条件との一致数がカウントされるのである。一方、ステップS219でNOであれば、つまり検索条件LBiLCがid_sk(id,ka)と一致しなければ、そのままステップS223に進む。ステップS223では、変数iLCをインクリメントする。したがって、次の検索条件LBiLCと関数id_sk(id,ka)が返すスキルとが一致するか否かの判断処理が実行される。 Here, the function id_sk (id, ka) is a function that returns the skill ka possessed by the operator of the ID specified by the variable id. For example, as can be seen with reference to the operator information terminal table shown in FIG. 5, the function id_sk (2, 1) returns “iPod”. If YES in step S219, that is, if the search condition LB iLC matches id_sk (id, ka), the array match [id] is incremented in step S221, and the process proceeds to step S223. That is, in step S221, for the operator with the ID indicated by the variable id, the number of matches between the skill of the operator and the condition in the condition list L or the remaining condition list LA is counted. On the other hand, if “NO” in the step S219, that is, if the search condition LB iLC does not match the id_sk (id, ka), the process proceeds to a step S223 as it is. In step S223, the variable iLC is incremented. Accordingly, a process for determining whether or not the next search condition LB iLC matches the skill returned by the function id_sk (id, ka) is executed.
また、ステップS211でYESであれば、つまりidがid_maxより大きければ、ステップS229で、配列match[1〜id_max]の中で、最大値かつ使用者条件を満たすIDのオペレータをオペレータOPkに設定して、オペレータの選択処理にリターンする。 Also, if YES in step S211, that is, if id is greater than Id_max, set in step S229, in the sequence match [1~id_max], the operator of the maximum value and the user satisfies ID to the operator OP k Then, the process returns to the operator selection process.
ここで、使用者条件は、上述したとおり、オペレータを検索するときに、ロボット遠隔操作システム10の使用者によって、任意に決めることができる条件である。たとえば、使用者条件が「経験歴が豊富なオペレータを優先して呼び出したい」である場合に、配列match[0〜id_max]のそれぞれに含まれる値の中で最も大きい値が設定される配列が2つ以上有る場合に、それぞれの配列数に対応したIDを持つオペレータが持つステータス値の「経験」に含まれる値が一番大きいオペレータが、オペレータOP検索処理によって検索されたオペレータとなる。たとえば、配列match[2]および配列match[id_max]が示す一致数が最大である場合には、図5に示したオペレータ端末情報テーブルを参照して分かるように、IDが「2」であるオペレータの経験(2月)と、IDが「id_max」であるオペレータの経験(12月)とから、上記使用者条件を満たすのは、IDが「id_max」であるオペレータである。このオペレータ(宮崎)がオペレータOPkとして設定されるのである。 Here, as described above, the user condition is a condition that can be arbitrarily determined by the user of the robot remote control system 10 when searching for an operator. For example, when the user condition is “want to call an operator with abundant experience”, an array in which the largest value among the values included in each of the arrays match [0 to id_max] is set. When there are two or more operators, the operator having the largest value included in the “experience” status value of the operator having an ID corresponding to the number of arrays is the operator searched by the operator OP search process. For example, when the number of matches indicated by the array match [2] and the array match [id_max] is the maximum, the operator whose ID is “2” is understood with reference to the operator terminal information table shown in FIG. From the experience (February) and the experience (December) of the operator whose ID is “id_max”, the operator whose ID is “id_max” satisfies the user condition. This operator (Miyazaki) is set as the operator OP k .
また、他の実施例では、使用者条件が「多くのキーワードに対応可能なオペレータを出きるだけ温存したい」である場合には、一致数が最大である複数のオペレータの中で、スキル数が最も少ないオペレータがオペレータOPkとして設定される。 In another embodiment, when the user condition is “I want to preserve as many operators as possible corresponding to many keywords”, the number of skills among the plurality of operators having the maximum number of matches is The fewest operators are set as operator OP k .
さらに、その他の実施例では、使用者条件が「複数の言語を話すことができるオペレータを出きるだけ温存したい」である場合には、一致数が最大である複数のオペレータの中で、言語数が最も少ないオペレータがオペレータOPkとして設定される。 Furthermore, in another embodiment, when the user condition is “I want to preserve as many operators as possible who can speak multiple languages”, the number of languages among the multiple operators with the largest number of matches. The operator having the smallest number is set as the operator OP k .
図14は、図7に示したステップS11のセンサ情報選択処理のフロー図である。図14を参照して、ステップS301では、変数kを初期化する(k=1)。続いて、ステップS303では、変数kが変数j以下であるか否かを判断する。すなわち、k番目のオペレータOPkが、オペレータOPkの総数j以上であるか否かを判断する。ステップS303でNOであれば、つまり、変数kが変数jよりも大きければ、ステップS311に進む。一方、ステップS303でYESであれば、つまり、変数kが変数j以下であれば、ステップS305で、ロボットxとオペレータOPkが操作する操作端末16との通信速度Sが閾値Sa以上か否かを判断する。つまり、閾値Saよりも通信速度Sが大きければ、オペレータOPkが操作する操作端末16に音声情報が送信される。 FIG. 14 is a flowchart of the sensor information selection process in step S11 shown in FIG. Referring to FIG. 14, in step S301, variable k is initialized (k = 1). Subsequently, in step S303, it is determined whether or not the variable k is equal to or less than the variable j. That, k-th operator OP k determines whether at least the total number j of the operator OP k. If “NO” in the step S303, that is, if the variable k is larger than the variable j, the process proceeds to a step S311. On the other hand, if “YES” in the step S303, that is, if the variable k is equal to or less than the variable j, whether or not the communication speed S between the robot x and the operation terminal 16 operated by the operator OP k is equal to or higher than the threshold value Sa in a step S305. Judging. That is, if the communication speed S is larger than the threshold value Sa, the audio information is transmitted to the operation terminal 16 operated by the operator OP k .
ステップS305でNOであれば、つまりロボットxと操作端末16との通信速度が閾値Sa未満であれば、そのままステップS309に進む。一方、ステップS305でYESであれば、ステップS307で、音声情報をオペレータOPkに送信させて、ステップS309に進む。このステップS307では、中央制御装置14のCPUは、ロボットxの対話相手の音声に対応する音声信号を音声情報として、オペレータOPkが操作する操作端末16に送信させるべく、そのためのコマンドをロボットxに送信する。オペレータOPkは、その音声信号の音声を聞くことにより、対話相手の発話内容を容易に知ることができ、したがって、対話相手と会話をすることができる。このため、適切に対応することができる。ステップS309では、変数kをインクリメントして、ステップS303に戻る。
If “NO” in the step S305, that is, if the communication speed between the robot x and the operation terminal 16 is less than the threshold value Sa, the process proceeds to a step S309 as it is. On the other hand, if “YES” in the step S305, the voice information is transmitted to the operator OP k in a step S307, and the process proceeds to the step S309. In this step S307, the CPU of the
ステップS311では、変数kを初期化する。続いて、ステップS313では、変数kが変数j以下であるか否かを判断する。ステップS313でYESであれば、ステップS315で、ロボットxとオペレータOPkが操作する操作端末16との通信速度Sが閾値Sv以上か否かを判断する。たとえば、閾値Svよりも通信速度Sが大きければ、オペレータOPkが操作する操作端末16にカメラ情報が送信される。 In step S311, the variable k is initialized. Subsequently, in step S313, it is determined whether or not the variable k is equal to or less than the variable j. If “YES” in the step S313, it is determined whether or not the communication speed S between the robot x and the operation terminal 16 operated by the operator OP k is equal to or higher than the threshold value Sv in a step S315. For example, if the communication speed S is higher than the threshold value Sv, the camera information is transmitted to the operation terminal 16 operated by the operator OP k .
ステップS315でNOであれば、つまりロボットxと操作端末16との通信速度が閾値Sv未満であれば、そのままステップS319で、変数kをインクリメントして、ステップS313に戻る。一方、ステップS315でYESであれば、つまりロボットxと操作端末16との通信速度が閾値Sv以上であれば、ステップS317で、カメラ情報をオペレータOPkに送信させて、ステップS319に進む。このステップS317では、中央制御装置14のCPUは、ロボットxの全方位カメラ34や眼カメラ58で撮影された映像に対応する映像信号を映像情報として、オペレータOPkが操作する操作端末16に送信させるべく、そのためのコマンドをロボットxに送信する。オペレータOPkは、その映像を見ることにより、ロボットxの周囲の状況や対話相手の顔の表情、身振り手振りなどを知ることができる。したがって、たとえば、相手の表情を見て対応することができるので、より適切に対応することができる。
If “NO” in the step S315, that is, if the communication speed between the robot x and the operation terminal 16 is less than the threshold value Sv, the variable k is incremented in a step S319, and the process returns to the step S313. On the other hand, if “YES” in the step S315, that is, if the communication speed between the robot x and the operation terminal 16 is equal to or higher than the threshold value Sv, the camera information is transmitted to the operator OP k in a step S317, and the process proceeds to the step S319. In this step S317, the CPU of the
ステップS321では、変数kを初期化する。続いてステップS323では、変数kが変数j以下であるか否かを判断する。ステップS323でNOであれば、図7に示した全体処理にリターンする。一方、ステップS323でYESであれば、ステップS325で、ロボットxとオペレータOPkが操作する操作端末16との通信速度Sが閾値Ss以上か否かを判断する。たとえば、閾値Ssよりも通信速度Sが大きければ、オペレータOPkが操作する操作端末16に距離情報が送信される。 In step S321, the variable k is initialized. In step S323, it is determined whether the variable k is equal to or less than the variable j. If “NO” in the step S323, the process returns to the entire process illustrated in FIG. On the other hand, if “YES” in the step S323, it is determined whether or not the communication speed S between the robot x and the operation terminal 16 operated by the operator OP k is equal to or higher than the threshold value Ss in a step S325. For example, if the communication speed S is larger than the threshold value Ss, the distance information is transmitted to the operation terminal 16 operated by the operator OP k .
ステップS325でNOであれば、つまりロボットxと操作端末16との通信速度Sが閾値Ss未満であれば、そのままステップS329へ進み、変数kをインクリメントして、ステップS323に戻る。一方、ステップS325でYESであれば、つまりロボットxと操作端末16との通信速度Sが閾値Ss以上であれば、ステップS327で、距離情報をオペレータOPkに送信させて、ステップS329に進む。このステップS327では、中央制御装置14のCPUは、ロボットxの赤外線距離センサ28で検出されたロボットxと対話相手との距離についての距離データおよび接触センサ46で検出された対話相手とロボット12との接触状態などを、距離情報としてオペレータOPkが操作する操作端末16に送信させるべく、そのためのコマンドをロボットxに送信する。この距離情報を見ることにより、オペレータOPkは、対話相手とロボット12との状態(対話相手までの距離)を認識することができる。これにより、たとえば、ロボットxを通してスキンシップを図ることが可能である。
If “NO” in the step S325, that is, if the communication speed S between the robot x and the operation terminal 16 is less than the threshold Ss, the process proceeds to a step S329 as it is, the variable k is incremented, and the process returns to the step S323. On the other hand, if “YES” in the step S325, that is, if the communication speed S between the robot x and the operation terminal 16 is equal to or higher than the threshold value Ss, the distance information is transmitted to the operator OP k in a step S327, and the process proceeds to the step S329. In this step S327, the CPU of the
なお、閾値Sa,閾値Svおよび閾値Ssの値は、使用者によって任意に変更可能である。たとえば、アナログ電話の通信速度が約54kbpsであるため、閾値Saを54kbpsに設定するようにしてもよい。または、閾値Saを0に設定することで、ロボット12が常に音声情報をオペレータOPkが使用する操作端末16に送信するようにしてもよい。
Note that the values of the threshold value Sa, the threshold value Sv, and the threshold value Ss can be arbitrarily changed by the user. For example, since the communication speed of the analog telephone is about 54 kbps, the threshold value Sa may be set to 54 kbps. Alternatively, by setting the threshold value Sa to 0, the
ただし、ロボット12と操作端末16との通信速度Sは、中央制御装置14に記憶される呼出要求を送信したロボット12と操作端末16とのそれぞれの通信回線の最大通信速度(ベストエフォート)に基づいて決められる。また、通信速度Sは、中央制御装置14から基準データをロボット12および操作端末16のそれぞれに送信することで、当該基準データの送信にかかった時間から決められてもよい。
However, the communication speed S between the
また、この実施例では、通信速度Sが或る閾値を超えるか否かで、ロボット12から操作端末16に送信する情報を決定するようにしてあるが、通信環境等を考慮しない場合には、音声情報,カメラ情報および距離情報のいずれか1つまたは2つ以上を必ず送信するようにしてもよい。
In this embodiment, information to be transmitted from the
さらに、この実施例では、通信速度Sに応じて、送信する情報を決定するようにしてあるが、ロボット12が設置される環境に応じて送信する情報を決定するようにしてもよい。
Furthermore, in this embodiment, the information to be transmitted is determined according to the communication speed S, but the information to be transmitted may be determined according to the environment where the
ここで、カメラ情報およびセンサ情報が制限された場合に、操作端末16の表示装置に表示される遠隔操作画面210の表示例を図15に示す。図15から分かるように、操作パネル216の表示内容は、図6に示した遠隔操作画面210と同じである。ロボットカメラ画像212の表示部は、カメラ情報が制限されているため、「カメラ情報制限中」の文字列(テキスト)が表示される。ロボット情報214の表示部には、図6に示した遠隔操作画面210と同様に、ロボットが設置される位置,当該ロボットの名前,設置された場所の地図および対話している人間の情報が表示される。ただし、ロボット情報214の下部に示されるように、音声情報は、図6に示した遠隔操作画面210と同様に、「通信中」と表示されるが、距離情報は、「制限中」のテキストが表示される。
Here, FIG. 15 shows a display example of the remote operation screen 210 displayed on the display device of the operation terminal 16 when the camera information and the sensor information are restricted. As can be seen from FIG. 15, the display content of the
図16は、ロボット12(ロボットx)のCPU60の全体処理を示すフロー図である。図16に示すように、ロボット12(ロボットx)のCPU60は、全体処理を開始すると、ステップS401で、後述するオペレータ呼出条件判定処理(図17参照)を実行し、ステップS403で、オペレータ呼出フラグがオンであるか否かを判断する。図示は省略するが、オペレータの呼出フラグは、1ビットのレジスタで構成され、メモリ64(RAM)に設けられる。この呼出フラグは、オペレータ呼出条件判定処理を実行することにより、オン/オフされる。具体的には、オペレータ呼出条件を満たす場合には、呼出フラグはオンされ、逆に、オペレータ呼出条件を満たさない場合には、呼出フラグはオフされる。呼出フラグがオンされると、レジスタにデータ値「1」が設定され、逆に、呼出フラグがオフされると、レジスタにデータ値「0」が設定される。
FIG. 16 is a flowchart showing the overall processing of the
ステップS403でNOであれば、つまり呼出フラグがオフであれば、ステップS409で、自立行動処理を実行する。なお、自律行動処理では、自立制御によって必要に応じて人間との間でコミュニケーション行動を実行する。たとえば、人間と対面した場合には、当該人間に挨拶をしたり、また、人間に道を尋ねられた場合には、道案内を行ったりする。一方、ステップS403でYESであれば、つまり、呼出フラグがオンであれば、ステップS405で、後述する遠隔操作対応処理(図18参照)を実行する。 If “NO” in the step S403, that is, if the calling flag is turned off, an independent action process is executed in a step S409. In the autonomous behavior process, communication behavior is executed with human beings as needed by independent control. For example, when a person is faced, a greeting is given to the person, and when a person is asked about the way, directions are given. On the other hand, if “YES” in the step S403, that is, if the calling flag is turned on, a remote operation handling process (see FIG. 18) described later is executed in a step S405.
続いてステップS407では、停止命令があるかどうかを判断する。たとえば、停止命令(停止コマンド)は、オペレータの操作に従って、操作端末16からネットワーク100を介してロボット12に送信される。ただし、ロボット12やロボット12が配置される環境に停止ボタンを設けておき、当該ボタンを操作することにより、ロボット12に停止コマンドを入力するようにしてもよい。ステップS407でYESであれば、つまり停止命令が有れば、そのまま全体処理を終了する。一方、ステップS407でNOであれば、つまり停止命令が無ければ、ステップS401に戻る。
In step S407, it is determined whether there is a stop command. For example, a stop command (stop command) is transmitted from the operation terminal 16 to the
図17は、図16に示したステップS401のオペレータ呼出条件判定処理のフロー図である。図17に示すように、ロボット12のCPU60は、オペレータ呼出条件判定処理を開始すると、ステップS501で、呼出条件フラグをオフし、ステップS503で、周囲情報を検出する。つまり、オペレータ呼出条件の判断に必要なセンサ(赤外線距離センサ28,全方位カメラ34,マイク54,眼カメラ58,接触センサ46および無線タグ読み取り装置86)の出力を検出し、周囲および自身の状況(状態)を認識する。
FIG. 17 is a flowchart of the operator call condition determination process in step S401 shown in FIG. As shown in FIG. 17, when starting the operator calling condition determination process, the
続いてステップS505では、特定の文章や単語を検出したか否かを判断する。ステップS505でYESであれば、つまり、特定の文章や単語を検出すれば、オペレータ呼出条件を満たすと判断して、ステップS519で呼出条件フラグをオンして、図16に示したロボット12の全体処理にリターンする。たとえば、特定の文章や単語としては、ロボット12が相手(対話相手)の意図を理解できないことを意味する文章や単語、たとえば、「違う」,「責任者を呼んで」,「そうじゃないんだけど」および「わからないかなあ」などが考えられる。
In step S505, it is determined whether a specific sentence or word has been detected. If YES in step S505, that is, if a specific sentence or word is detected, it is determined that the operator calling condition is satisfied, the calling condition flag is turned on in step S519, and the
一方、ステップS505でNOであれば、つまり特定の文章や単語を検出していなければ、ステップS507で、特定の顔の表情を取得したか否かを判断する。たとえば、特定の表情とは、人の顔表情認識で怒りが検出されたこと、顔特定機能で特定の人を検出したことが考えられる。ステップS507でYESであれば、つまり、特定の顔の表情を取得すれば、オペレータ呼出条件を満たすと判断して、ステップS519に進む。 On the other hand, if “NO” in the step S505, that is, if a specific sentence or word is not detected, it is determined whether or not a specific facial expression is acquired in a step S507. For example, the specific facial expression may be that anger has been detected by recognizing a human facial expression, or that a specific person has been detected by the face specifying function. If “YES” in the step S507, that is, if a specific facial expression is acquired, it is determined that the operator calling condition is satisfied, and the process proceeds to a step S519.
また、ステップS507でNOであれば、つまり、特定の顔の表情を取得していなければ、ステップS509で特定の人間を検出したか否かを判断する。たとえば、特定の人物を検出する方法としては、特定のIDの無線タグを検出したこと(たとえば、VIPとして登録された人が現れたこと)などが考えられる。ステップS509でYESであれば、つまり特定の人間を検出すれば、オペレータ呼出条件を満たすと判断して、ステップS519へ進む。一方、ステップS509でNOであれば、つまり、特定の人間を検出していなければ、ステップS511で、人間と長時間会話している状況であるか否かを判断する。たとえば、赤外線距離センサ28で取得された距離が1m以内である状態が5分以上になればYESと判断されるようにしてもよい。
If “NO” in the step S507, that is, if a specific facial expression is not acquired, it is determined whether or not a specific human is detected in a step S509. For example, as a method for detecting a specific person, a wireless tag having a specific ID may be detected (for example, a person registered as a VIP appears). If “YES” in the step S509, that is, if a specific person is detected, it is determined that the operator calling condition is satisfied, and the process proceeds to a step S519. On the other hand, if NO in step S509, that is, if a specific person has not been detected, it is determined in step S511 whether or not a long-time conversation with the person is present. For example, it may be determined as YES when the distance acquired by the
ステップS511でYESであれば、つまり、人間と長時間会話している状況であれば、オペレータ呼出条件を満たすと判断して、ステップS519に進む。一方、ステップS511でNOであれば、つまり人間と長時間会話している状況でなければ、ステップS513で、行く手を塞がれた状況であるか否かを判断する。ステップS513でYESであれば、つまり行く手を塞がれた状況であれば、オペレータ呼出条件を満たすと判断して、ステップS519に進む。一方、ステップS513でNOであれば、つまり行く手を塞がれていない状況であれば、ステップS515で周囲に人が多く存在する状況であるか否かを判断する。ここで、周囲に人が多く存在する状態は、ロボット12または周囲の環境に設けられた他のセンサの出力に基づいて検出されるようにしてもよい。
If “YES” in the step S511, that is, if it is a situation in which a conversation with a human is performed for a long time, it is determined that the operator calling condition is satisfied, and the process proceeds to a step S519. On the other hand, if “NO” in the step S511, that is, if it is not a situation where the person is talking for a long time, in a step S513, it is determined whether or not the going hand is blocked. If “YES” in the step S513, that is, if the hand is closed, it is determined that the operator calling condition is satisfied, and the process proceeds to the step S519. On the other hand, if “NO” in the step S513, that is, if the moving hand is not blocked, it is determined whether or not there are many people around in a step S515. Here, the state where there are many people in the surroundings may be detected based on the output of the
ステップS515でYESであれば、つまり周囲に人が多く存在する状況であれば、オペレータ呼出条件を満たすと判断して、ステップS519に進む。一方、ステップS515でNOであれば、つまり周囲に人が多く存在していない状況であれば、ステップS517で、オペレータ呼出ボタンが押されたかどうかを判断する。なお、オペレータ呼び出しボタンはロボット12または周囲の環境に設けられてもよい。ステップS517でYESであれば、つまりオペレータ呼出条件判定を満たすと判断して、ステップS519に進む。一方、ステップS517でNOであれば、つまりオペレータ呼出ボタンが押されていなければ、図16に示したロボット12の全体処理にリターンする。
If “YES” in the step S515, that is, if there are many people around, it is determined that the operator calling condition is satisfied, and the process proceeds to the step S519. On the other hand, if “NO” in the step S515, that is, if there are not many people around, it is determined whether or not the operator call button has been pressed in a step S517. The operator call button may be provided in the
図18は、図16に示したステップS405の遠隔操作対応処理のフロー図である。図18に示すように、ロボット12のCPU60は、遠隔操作対応処理を開始すると、ステップS601で、中央制御装置14に対して、オペレータ呼出要求を送信し、当該要求に対する応答の受信を待つ。続いて、ステップS603では、中央制御装置14から操作端末16の紹介があったか否かを判断する。たとえば、操作端末16のアドレス(IPアドレス)を含む呼出応答を受信したか、エラーを受信したかが判断される。ステップS603でNOであれば、すなわち中央制御装置14からエラーを受信した場合には、ステップS613で、エラー処理を実行して、図16に示したロボット12の全体処理にリターンする。
FIG. 18 is a flowchart of the remote operation handling process of step S405 shown in FIG. As shown in FIG. 18, when starting the remote operation handling process, the
たとえば、エラー処理では、利用可能な操作端末16(オペレータ)が存在せず、オペレータの遠隔操作による制御が望めないので、ロボット12は自立的にエラー対応処理を行う。たとえば、特定の文章や単語を検出した場合のように、ロボット12自身で対処することができないような状況では、「手空きのオペレータがおりませんので、しばらくお待ちください。」、「申し訳ございません。対応できるオペレータが存在しません。」といった発話を含むコミュニケーション行動を実行するようにすることができる。これによって、ロボット12は、対話相手に、自身が対応不可能な状態であることを知らせることができ、また対話相手の違った反応を引き出して、自立制御で対応可能な状態に変化することが期待される。また、VIPが来たり多くの人に囲まれたりした状況では、エラー対応としての発話や身振りを特に提示せずに、自立制御を継続するようにしてもよい。ただし、エラーを受信してから一定時間経過後に呼出要求を再送信するようにしてもよい。
For example, in the error process, there is no operation terminal 16 (operator) that can be used, and control by remote operation by the operator cannot be expected, so the
なお、ステップS613で呼出要求に対する応答の受信待ち時間切れになったと判断されるときには、たとえば、通信困難であることを対話相手に通知したり、呼び出しを再度試みたりしてから、全体に処理にリターンする。 When it is determined in step S613 that the waiting time for receiving a response to the call request has expired, for example, the communication partner is notified that communication is difficult or the call is retried, and then the entire process is performed. Return.
また、ステップS603でYESであれば、すなわち、中央制御装置14から操作端末16を紹介された場合は、ステップS605に進む。なお、上述したように、中央制御装置14からの紹介は、中央制御装置14が操作端末16の識別情報(IPアドレス)を送信することにより行われる。ここで、操作端末16の紹介があったときは、遠隔操作対応モードに移行して、続くステップS605−S611の処理を一定時間後に繰り返し実行する。この遠隔操作対応モードでは、ロボット12の動作は、遠隔操作があったときには操作コマンドに従った動作を実行するが、遠隔操作がないときには自律制御する。
If YES in step S603, that is, if the operation terminal 16 is introduced from the
ステップS605では、紹介された操作端末16に対して、センサ情報(音声情報,カメラ情報およびセンサ情報など)を送信する。すなわち、マイク54が取得した音声情報(対話相手の発話音声),眼カメラ58が撮影したカメラ情報および赤外線距離センサ28による障害物(対話相手)までの距離などが操作端末16に対して送信される。
In step S605, sensor information (voice information, camera information, sensor information, etc.) is transmitted to the introduced operation terminal 16. That is, the voice information acquired by the microphone 54 (speech voice of the conversation partner), the camera information captured by the
続いてステップS607では、操作端末16から、自身の動作を制御する操作コマンド(音声情報の送信も含む)を受信したか否かを判断する。ステップS607でNOであれば、すなわち、操作コマンドを受信しなかった場合には、ステップS605に戻る。 Subsequently, in step S607, it is determined whether or not an operation command (including transmission of audio information) for controlling its own operation has been received from the operation terminal 16. If “NO” in the step S607, that is, if an operation command is not received, the process returns to the step S605.
一方、ステップS607でYESであれば、すなわち、操作端末16からの操作コマンドを受信した場合には、ステップS609で遠隔操作終了要求があったか否かを判断する。つまり、ステップS607で受信した操作コマンドが、遠隔操作終了コマンドであったか否かを判断する。 On the other hand, if “YES” in the step S607, that is, if an operation command is received from the operation terminal 16, it is determined whether or not a remote operation end request is made in a step S609. That is, it is determined whether or not the operation command received in step S607 is a remote operation end command.
ステップS609でNOであれば、すなわちコミュニケーション行動を指示する操作コマンドを受信した場合には、ステップS611で、当該操作コマンドに応じた動作を実行して、ステップS605に戻る。このステップS611の処理によって、上述したように、ロボット12の動作が遠隔操作に基づいて制御される。たとえば、スピーカ52およびマイク54を用いた当該操作端末を使用するオペレータと対話相手との会話,お辞儀や指差しなどの身体動作および前進や旋回などの移動を実行する。
If “NO” in the step S609, that is, if an operation command instructing a communication action is received, an operation corresponding to the operation command is executed in a step S611, and the process returns to the step S605. By the processing in step S611, as described above, the operation of the
なお、操作コマンドを受信したときに、自律制御によってコミュニケーション行動などを実行中であった場合には、当該実行中の行動が終了するのを待ってから操作コマンドに対応する動作を実行してもよいし、当該実行中の行動を中止してから操作コマンドに対応する動作を実行してもよい。 When a communication action is being executed by autonomous control when an operation command is received, the operation corresponding to the operation command may be executed after waiting for the action being executed to end. Alternatively, the action corresponding to the operation command may be executed after the action being executed is stopped.
一方、ステップS609でYESであれば、図16に示すロボット12の全体処理にリターンする。つまり、ステップS609でYESと判断されるか、ステップS613の処理が終了すれば、ロボット12の動作モードは遠隔操作対応モードから自律制御モードに戻る。
On the other hand, if “YES” in the step S609, the process returns to the entire process of the
図19は、操作端末16のCPUの遠隔操作処理のフロー図である。図19に示すように、操作端末16のCPUは、遠隔操作処理を開始すると、ステップS701で、中央制御装置14からの遠隔操作依頼が有るか否かを判断する。具体的には、中央制御装置14から送信されたロボット12のIPアドレスを含む遠隔操作依頼を受信したか否かが判断される。
FIG. 19 is a flowchart of the remote operation processing of the CPU of the operation terminal 16. As shown in FIG. 19, when starting the remote operation process, the CPU of the operation terminal 16 determines whether or not there is a remote operation request from the
ステップS701でNOであれば、すなわち、中央制御装置14からの遠隔操作依頼がなければ、そのまま同じステップS701に戻る。ただし、このステップS701の処理は一定時間(たとえば、30秒)毎に実行される。一方、ステップS701でYESであれば、すなわち、中央制御装置14からの遠隔操作依頼を有れば、ステップS703で、表示装置に図6や図15に示したような遠隔操作画面210が表示される。
If “NO” in the step S701, that is, if there is no remote operation request from the
なお、この遠隔操作画面210を表示した当初では、当該操作端末16を呼び出したロボット12のカメラ画像および当該ロボット12に関する情報は取得されていないので、ロボットカメラ画像212の内容の表示はない。続いて、ステップS705では、音声チャット処理の実行指示が有るか否かを判断する。ステップS705でYESであれば、すなわち、中央制御装置14から音声チャット処理の実行指示がされれば、ステップS707で、音声チャット処理を実行する。すなわち、中央制御装置14の指示に従い、音声チャット処理を実行する。また、ステップS707の処理が終了すれば、ステップS709に進む。同様にして、ステップS705でNOであっても、ステップS709に進む。さらに、ステップS705またはステップS707の処理が終了すると、続くステップS709−S717の処理が一定時間ごとに繰り返し実行される。
Note that at the beginning of displaying the remote operation screen 210, the camera image of the
ステップS709では、ロボット情報の受信および更新が行われる。すなわち、中央制御装置14またはロボット12からロボット情報を受信して、遠隔操作画面210のロボット情報214の表示を更新する。なお、ロボット情報214を最初に表示する際には、当該ロボット12の位置,名前および対話相手の情報などは中央制御装置14から取得される。また、地図表示のためのロボット12および相手の位置情報は当該ロボット12から取得される。
In step S709, the robot information is received and updated. That is, the robot information is received from the
続いて、ステップS711では、センサ情報(音声情報,カメラ情報および距離情報など)の受信および更新が行われる。すなわち、ロボット12から音声情報を受信して、操作端末16のスピーカから当該音声情報を出力する。また、ロボット12からカメラ情報を受信して、遠隔操作画面のロボットカメラ画像212の表示を更新する。さらに、ロボット12から距離情報を受信して、障害物(対話相手)までの距離を表示する。
Subsequently, in step S711, reception and update of sensor information (voice information, camera information, distance information, etc.) is performed. That is, the audio information is received from the
なお、ロボット12と当該操作端末16との通信速度Sによっては、ロボット12から送信されないセンサ情報があるため、かかる場合には、一部または全部のセンサ情報についての表示に制限がかかる。
Depending on the communication speed S between the
続いてステップS713では、操作コマンドの入力があったか否かを判断する。たとえば、入力装置からの入力データと操作パネル216のボタン配置データとに基づいて、オペレータによって操作コマンドボタンが選択されたか否かが判断される。ステップS713でNOであれば、すなわち、操作コマンドの入力が無い場合には、そのままステップS709に戻る。
In step S713, it is determined whether an operation command has been input. For example, based on input data from the input device and button arrangement data on the
一方、ステップS713でYESであれば、すなわち、操作コマンドの入力があった場合には、ステップS715で、選択された操作コマンドを特定し、当該操作コマンドをロボット12に送信する。
On the other hand, if “YES” in the step S713, that is, if an operation command is input, the selected operation command is specified in a step S715, and the operation command is transmitted to the
そして、ステップS717で、遠隔操作の終了要求があったか否かを判断する。つまり、ステップS713で入力された操作コマンドが遠隔操作の終了を指示するコマンド(終了コマンド)であるか否かを判断する。ステップS713でNOであれば、すなわち終了コマンドが入力されていない場合には、そのままステップS709に戻る。一方、ステップS717でYESであれば、すなわち、オペレータによって終了コマンドが入力された場合には、遠隔操作処理を終了する。 In step S717, it is determined whether or not there has been a remote operation termination request. That is, it is determined whether or not the operation command input in step S713 is a command (end command) for instructing the end of the remote operation. If “NO” in the step S713, that is, if an end command is not input, the process returns to the step S709 as it is. On the other hand, if YES in step S717, that is, if an end command is input by the operator, the remote operation processing is ended.
この実施例によれば、ロボットからの呼出要求があると、ロボットの対話相手の要求を満たすスキルを持つ1人または複数のオペレータを選択し、選択した1人または複数のオペレータがロボットを遠隔操作し、当該ロボットを通して、対話相手とコミュニケーションすることができる。したがって、対話相手の要求に適切に対応することができる。 According to this embodiment, when there is a call request from the robot, one or more operators having skills that satisfy the request of the robot's conversation partner are selected, and the selected one or more operators remotely operate the robot. In addition, it is possible to communicate with the conversation partner through the robot. Therefore, it is possible to appropriately respond to the request of the conversation partner.
なお、本実施例では、赤外線距離センサ28を用いているが、赤外線距離センサ28に代えて、超音波距離センサやミリ波レーダなどを用いてロボット12と対話相手との距離を計測してもよい。また、オペレータ選択処理では、3つ言語の「らしさ演算」を行っているが、必要に応じて言語の数を増やしてもよい。
In this embodiment, the
また、ロボット12のオペレータの呼出フラグは、体表に設けた接触などを検出するセンサ(たとえば、皮膚センサ)で、そのロボット12自身が殴られたことを検出し、オンになるようにしてもよい。また、ロボット12は、呼出要求を送信する場合に、さらに、一時的にロボットセンサ情報(音声情報,カメラ情報および距離情報など)が記憶されるようにしてもよい。
In addition, the call flag of the operator of the
10 …ロボット遠隔操作システム
12 …コミュニケーションロボット
14 …中央制御装置
16 …操作端末
28 …超音波距離センサ
34 …全方位カメラ
46 …接触センサ
52 …スピーカ
54 …マイク
58 …眼カメラ
60 …CPU
62 …バス
64 …メモリ
66 …モータ制御ボード
68 …センサ入力/出力ボード
70 …音声入力/出力ボード
82 …通信LANボード
84 …無線通信装置
86 …無線タグ読取装置
100 …ネットワーク
DESCRIPTION OF SYMBOLS 10 ... Robot
62 ...
Claims (6)
前記ロボットは、
自律制御により前記人間との間におけるコミュニケーション行動の実行が困難であるかどうかを判断する判断手段、および
前記判断手段の判断結果が肯定的であるとき前記中央制御装置に遠隔操作の依頼を通知する通知手段を備え、
前記中央制御装置は、
前記通知手段からの遠隔操作の依頼の通知を受信する依頼通知受信手段、
前記依頼通知受信手段が遠隔操作の依頼の通知を受信したことに応じて前記ロボットの遠隔操作を行う操作者が満たすべき条件についての条件リストを作成する条件リスト作成手段、
前記複数の操作端末の各々について操作者の属性情報を含む端末情報を記憶する端末情報記憶手段、
前記条件作成手段によって作成された条件リストと前記端末情報記憶手段に記憶された端末情報とを比較する比較手段、
前記比較手段の比較結果に基づいて前記条件リストの全部または一部の条件を満足する端末情報を有する1または複数の操作端末を前記ロボットの遠隔操作を行う操作端末として選択する選択手段、および
前記ロボットと前記選択手段によって選択された1または複数の操作端末とを前記ネットワークを介して通信可能に接続させる接続制御手段を備えることを特徴とする、ロボット遠隔操作システム。 A robot that performs communication with humans through at least one of body movement and voice by remote control or autonomous control, a plurality of operation terminals that perform remote control of the robot via a network, and the network via the network In a robot remote control system comprising a central controller that mediates between a robot and the operation terminal,
The robot is
A determination means for determining whether or not it is difficult to execute a communication action with the human by autonomous control; and when the determination result of the determination means is affirmative, the central control apparatus is notified of a request for remote operation A notification means,
The central controller is
A request notification receiving means for receiving a notification of a remote operation request from the notification means;
Condition list creating means for creating a condition list for conditions to be satisfied by an operator who performs remote operation of the robot in response to the request notification receiving means receiving a notification of a remote operation request;
Terminal information storage means for storing terminal information including operator attribute information for each of the plurality of operation terminals;
Comparison means for comparing the condition list created by the condition creation means with the terminal information stored in the terminal information storage means;
Selection means for selecting one or a plurality of operation terminals having terminal information satisfying all or a part of the conditions of the condition list as operation terminals for performing remote operation of the robot, based on a comparison result of the comparison means; and A robot remote control system comprising connection control means for connecting a robot and one or a plurality of operation terminals selected by the selection means via the network so as to communicate with each other.
前記人間の音声に対応する音声信号を検出する音声検出手段、および
前記音声検出手段によって検出された音声信号を少なくとも前記中央制御装置に送信する送信手段をさらに備え、
前記中央制御装置は、
前記送信手段からの音声信号を受信する音声受信手段、
前記音声受信手段によって受信された音声信号に基づいて前記人間の音声を認識する音声認識手段、および
前記音声認識手段の認識結果に基づいて前記人間の発話する言語を特定する言語特定手段をさらに備え、
前記条件リストは、言語情報を条件として含む、請求項1記載のロボット遠隔操作システム。 The robot is
Voice detection means for detecting a voice signal corresponding to the human voice; and transmission means for transmitting the voice signal detected by the voice detection means to at least the central control unit,
The central controller is
Audio receiving means for receiving an audio signal from the transmitting means;
Voice recognition means for recognizing the human voice based on a voice signal received by the voice reception means; and language specification means for specifying a language spoken by the human based on a recognition result of the voice recognition means. ,
The robot remote control system according to claim 1, wherein the condition list includes language information as a condition.
前記他端末選択手段は、前記条件リストの全条件に対して一定の割合を超える条件を満足するまで前記他の操作端末の選択を継続する、請求項2のロボット遠隔操作システム。 When the selection means satisfies a part of the conditions in the condition list by the terminal information of one of the operation terminals, the selection unit includes one or a plurality of other information including terminal information that satisfies the remaining conditions excluding the part of the condition Including other terminal selection means for selecting the operation terminal,
The robot remote operation system according to claim 2, wherein the other terminal selection unit continues to select the other operation terminal until a condition exceeding a certain ratio with respect to all the conditions in the condition list is satisfied.
前記選択手段によって選択された操作端末の数が一定数以上であるかどうかを判定する端末数判定手段をさらに備え、
前記他端末選択手段は、前記端末数判定手段によって、一定数以上であることが判定されるまで前記他の操作端末の選択を継続する、請求項3記載のロボット遠隔操作システム。 The central controller is
A terminal number determination means for determining whether or not the number of operation terminals selected by the selection means is a certain number or more;
The robot remote operation system according to claim 3, wherein the other terminal selection unit continues to select the other operation terminal until the terminal number determination unit determines that the number is equal to or greater than a certain number.
前記中央制御装置は、
前記選択手段によって選択された操作端末の数が一定数以上であるかどうかを判定する端末数判定手段をさらに備え、
前記他端末選択手段は、前記端末数判定手段によって、一定数以上であることが判定されるまで前記他の操作端末の選択を継続する、請求項2記載のロボット遠隔操作システム。 When the selection means satisfies a part of the condition list by the terminal information of one operation terminal, the selection unit includes one or a plurality of other terminals having terminal information that satisfies the remaining conditions excluding the part of the condition Other terminal operation means for selecting the operation terminal of
The central controller is
A terminal number determination means for determining whether or not the number of operation terminals selected by the selection means is a certain number or more;
The robot remote operation system according to claim 2, wherein the other terminal selection unit continues to select the other operation terminal until the terminal number determination unit determines that the number is equal to or greater than a certain number.
前記ロボットと前記1または複数操作端末との通信速度によって前記ロボットから前記1または前記複数の操作端末に送信する前記ロボットの情報を制御する送信情報制御手段をさらに備える、請求項1ないし5のいずれかに記載のロボット遠隔操作システム。 The central controller is
The transmission information control means for controlling the information of the robot transmitted from the robot to the one or the plurality of operation terminals according to the communication speed between the robot and the one or the plurality of operation terminals. The robot remote control system described in Crab.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007264118A JP5070441B2 (en) | 2007-10-10 | 2007-10-10 | Robot remote control system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007264118A JP5070441B2 (en) | 2007-10-10 | 2007-10-10 | Robot remote control system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009090420A true JP2009090420A (en) | 2009-04-30 |
JP5070441B2 JP5070441B2 (en) | 2012-11-14 |
Family
ID=40662923
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007264118A Active JP5070441B2 (en) | 2007-10-10 | 2007-10-10 | Robot remote control system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5070441B2 (en) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010260141A (en) * | 2009-05-08 | 2010-11-18 | Nec Corp | Robot device |
CN103419203A (en) * | 2012-05-21 | 2013-12-04 | 李坚 | All-day domestic robot |
KR20150081427A (en) * | 2012-09-11 | 2015-07-14 | 유진 알. 파렌테 | System for remotely swinging a golf club |
JP2018153875A (en) * | 2017-03-15 | 2018-10-04 | 株式会社オカムラ | Management system, management method and program |
JP2019005819A (en) * | 2017-06-21 | 2019-01-17 | 富士ゼロックス株式会社 | Remote control type mobile robot and robot control system |
WO2019069850A1 (en) * | 2017-10-02 | 2019-04-11 | 株式会社オカムラ | Management system and control method |
JP2020066094A (en) * | 2018-10-24 | 2020-04-30 | トヨタ自動車株式会社 | Communication robot and communication robot control program |
CN111312385A (en) * | 2020-03-06 | 2020-06-19 | 西门子医疗系统有限公司 | Processing device, method and system for controlling medical equipment |
CN111326249A (en) * | 2020-03-06 | 2020-06-23 | 西门子医疗系统有限公司 | Processing device, user equipment and system for controlling medical equipment |
JP2021062426A (en) * | 2019-10-10 | 2021-04-22 | 沖電気工業株式会社 | Robot system |
WO2022138653A1 (en) * | 2020-12-24 | 2022-06-30 | 川崎重工業株式会社 | Robot system and robot work method |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7041492B2 (en) * | 2017-10-31 | 2022-03-24 | 川崎重工業株式会社 | Robot system |
JP7052546B2 (en) | 2018-05-11 | 2022-04-12 | トヨタ自動車株式会社 | Autonomous mobile systems, autonomous mobiles, charging docks, control methods, and programs |
JP7505425B2 (en) | 2021-03-18 | 2024-06-25 | トヨタ自動車株式会社 | Remote Control System |
JP7468421B2 (en) | 2021-03-23 | 2024-04-16 | トヨタ自動車株式会社 | Remote operation system, remote operation method, and program |
JP7468423B2 (en) | 2021-03-24 | 2024-04-16 | トヨタ自動車株式会社 | Remote control system, remote control mobile body, remote control method, and program |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004160653A (en) * | 2002-11-13 | 2004-06-10 | Samsung Electronics Co Ltd | Home robot control system and home robot operating method |
JP2007160442A (en) * | 2005-12-12 | 2007-06-28 | Honda Motor Co Ltd | Mobile robot |
JP2007190659A (en) * | 2006-01-20 | 2007-08-02 | Advanced Telecommunication Research Institute International | Robot remote operation system |
-
2007
- 2007-10-10 JP JP2007264118A patent/JP5070441B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004160653A (en) * | 2002-11-13 | 2004-06-10 | Samsung Electronics Co Ltd | Home robot control system and home robot operating method |
JP2007160442A (en) * | 2005-12-12 | 2007-06-28 | Honda Motor Co Ltd | Mobile robot |
JP2007190659A (en) * | 2006-01-20 | 2007-08-02 | Advanced Telecommunication Research Institute International | Robot remote operation system |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010260141A (en) * | 2009-05-08 | 2010-11-18 | Nec Corp | Robot device |
CN103419203A (en) * | 2012-05-21 | 2013-12-04 | 李坚 | All-day domestic robot |
KR20150081427A (en) * | 2012-09-11 | 2015-07-14 | 유진 알. 파렌테 | System for remotely swinging a golf club |
JP2015534473A (en) * | 2012-09-11 | 2015-12-03 | ペアレンテ、ユージーン、アール. | A system for swinging a golf club from a remote location |
KR102032342B1 (en) | 2012-09-11 | 2019-10-15 | 유진 알. 파렌테 | System for remotely swinging a golf club |
JP2018153875A (en) * | 2017-03-15 | 2018-10-04 | 株式会社オカムラ | Management system, management method and program |
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 |
WO2019069850A1 (en) * | 2017-10-02 | 2019-04-11 | 株式会社オカムラ | Management system and control method |
JP2019063950A (en) * | 2017-10-02 | 2019-04-25 | 株式会社オカムラ | Management system and control method |
US11534907B2 (en) | 2017-10-02 | 2022-12-27 | Okamura Corporation | Management system and control method |
CN111086010A (en) * | 2018-10-24 | 2020-05-01 | 丰田自动车株式会社 | Communication robot and computer-readable storage medium |
JP7067414B2 (en) | 2018-10-24 | 2022-05-16 | トヨタ自動車株式会社 | Communication robots and control programs for communication robots |
CN111086010B (en) * | 2018-10-24 | 2022-11-08 | 丰田自动车株式会社 | Communication robot and computer-readable storage medium |
JP2020066094A (en) * | 2018-10-24 | 2020-04-30 | トヨタ自動車株式会社 | Communication robot and communication robot control program |
JP2021062426A (en) * | 2019-10-10 | 2021-04-22 | 沖電気工業株式会社 | Robot system |
CN111326249A (en) * | 2020-03-06 | 2020-06-23 | 西门子医疗系统有限公司 | Processing device, user equipment and system for controlling medical equipment |
CN111312385A (en) * | 2020-03-06 | 2020-06-19 | 西门子医疗系统有限公司 | Processing device, method and system for controlling medical equipment |
WO2022138653A1 (en) * | 2020-12-24 | 2022-06-30 | 川崎重工業株式会社 | Robot system and robot work method |
JP7477651B2 (en) | 2020-12-24 | 2024-05-01 | 川崎重工業株式会社 | ROBOT SYSTEM AND ROBOT OPERATION METHOD |
Also Published As
Publication number | Publication date |
---|---|
JP5070441B2 (en) | 2012-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5070441B2 (en) | Robot remote control system | |
JP4639343B2 (en) | Robot remote control system | |
JP5033994B2 (en) | Communication robot | |
JP4386367B2 (en) | Communication robot improvement system | |
EP3463244B1 (en) | Guide robot and method and system for operating the same | |
JP4822319B2 (en) | Communication robot and attention control system using the same | |
JP2009241166A (en) | Robot remote operation system | |
JP5429462B2 (en) | Communication robot | |
JP5366048B2 (en) | Information provision system | |
JP4786519B2 (en) | Method for acquiring information necessary for service for moving object by robot, and object movement service system by robot using the method | |
JP4599522B2 (en) | Communication robot | |
JP5145569B2 (en) | Object identification method and apparatus | |
US20190389075A1 (en) | Robot system and robot dialogue method | |
WO2018108176A1 (en) | Robot video call control method, device and terminal | |
JP2009131914A (en) | Robot control system | |
JP2007160427A (en) | Robot control system | |
CN111515970B (en) | Interaction method, mimicry robot and related device | |
JP2007265329A (en) | Route guidance system | |
JP2007320033A (en) | Communication robot | |
JP6468643B2 (en) | Communication system, confirmation action determination device, confirmation action determination program, and confirmation action determination method | |
JP5163202B2 (en) | Article estimation system | |
JP5866646B2 (en) | Communication system, utterance content generation device, utterance content generation program, and utterance content generation method | |
JP5194314B2 (en) | Communication system | |
JP2005202075A (en) | Speech communication control system and its method and robot apparatus | |
JP2007260864A (en) | Communication robot |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100809 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120223 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120313 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120413 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20120619 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120706 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5070441 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150831 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |