JP2010009370A - Traveling object control system and traveling object control method - Google Patents

Traveling object control system and traveling object control method Download PDF

Info

Publication number
JP2010009370A
JP2010009370A JP2008168860A JP2008168860A JP2010009370A JP 2010009370 A JP2010009370 A JP 2010009370A JP 2008168860 A JP2008168860 A JP 2008168860A JP 2008168860 A JP2008168860 A JP 2008168860A JP 2010009370 A JP2010009370 A JP 2010009370A
Authority
JP
Japan
Prior art keywords
moving body
moving
measurement
legged robot
particle
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.)
Withdrawn
Application number
JP2008168860A
Other languages
Japanese (ja)
Inventor
Masashi Okajima
雅史 岡嶋
Ryohei Nakatsu
良平 中津
Servillat Florent
セルビラ フロレン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kansai Electric Power Co Inc
Original Assignee
Kansai Electric Power Co Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kansai Electric Power Co Inc filed Critical Kansai Electric Power Co Inc
Priority to JP2008168860A priority Critical patent/JP2010009370A/en
Publication of JP2010009370A publication Critical patent/JP2010009370A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Manipulator (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a traveling object control system for precisely acquiring the current location of a traveling object. <P>SOLUTION: The traveling object control system 1 includes: an azimuth acquisition means 104A for acquiring the measurement direction of the traveling object 100; a transmission means 114A for transmitting at least either a sound wave and an electric wave; a distance acquisition means 106A for acquiring a measurement distance to an object in the periphery of the traveling object; a storage means 57S for storing map data 57A showing the location of an obstacle; a first location acquisition means 55B for calculating the measurement location of the traveling object 100 on the basis of at least either the sound wave and the electric wave; and a second location acquisition means for calculating the current location of the traveling object on the basis of the measurement location and the measurement direction and the measurement distance and the map data. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

この発明は、ロボットなどの移動体の動作を制御する移動体制御システムおよび移動体制御方法に関し、特に各種センサを利用して移動体の正確な現在位置や向きを取得する移動体制御システムおよび移動体制御方法に関する。   The present invention relates to a moving body control system and a moving body control method for controlling the operation of a moving body such as a robot, and in particular, a moving body control system and a movement for acquiring an accurate current position and orientation of a moving body using various sensors. The present invention relates to a body control method.

人のように2足歩行を行うロボットや、動物のように4足歩行を行うロボットなど、各種のアルゴリズムに基づいて自律歩行を行う脚式移動ロボットが知られている。これらの脚式ロボットや脚式ロボットを制御するサーバ装置の中には、様々なセンサから得られるデータなどに基づいて、脚式ロボットの現在位置を取得するものがある。そして、脚式ロボットは、たとえば、ユーザから入力される目的地点と上記の現在位置とに基づいて移動する。   Legged mobile robots that perform autonomous walking based on various algorithms, such as robots that perform bipedal walking like humans and robots that perform quadrupedal walking like animals, are known. Some of these legged robots and server devices that control the legged robots acquire the current position of the legged robot based on data obtained from various sensors. The legged robot moves based on, for example, the destination point input from the user and the current position.

たとえば、特開2003−166824号公報(特許文献1)には、自己位置同定システムが開示されている。特開2003−166824号公報(特許文献1)によると、自己位置同定システムは、グリッドベース・マルコフ・ローカリゼーションに基づく大域的探索装置と、拡張型カルマン・フィルタを用いた局所的探索装置を併用する。大域的探索装置における観察結果が妥当であれば、局所的探索装置の観察結果の更新を許可するが、妥当でなければ局所的探索装置の観察結果の更新を行わない。また、局所的探索装置の観察結果が妥当であれば、局所的探索の状態を出力するが、妥当でなければ局所的探索装置を再初期化する。   For example, Japanese Patent Laying-Open No. 2003-166824 (Patent Document 1) discloses a self-position identification system. According to Japanese Patent Laying-Open No. 2003-166824 (Patent Document 1), the self-localization system uses a global search device based on grid-based Markov localization and a local search device using an extended Kalman filter. . If the observation result in the global search device is valid, updating of the observation result of the local search device is permitted, but if not, the observation result of the local search device is not updated. If the observation result of the local search device is valid, the local search state is output, but if not valid, the local search device is reinitialized.

また、特開2007−257226号公報(特許文献2)には、移動体の自己位置検出装置および位置検出システムが開示されている。特開2007−257226号公報(特許文献2)によると、自己位置検出装置は、位置特定用の複数のマークが不規則配置で貼着された天井を有する移動領域を移動するロボットに備えられ、天井に赤外線を照射する赤外線照射部と、照射された赤外線を反射したマークを撮像する天面カメラと、天井におけるマークの配置に関する情報と、移動領域の位置情報とを関連付けて記憶するマーク配置記憶部と、撮像されたマークを画像処理することによって、複数のマークを4つのマークにおける互いの配置で特徴付けられるグループとして検出するマーク検出部と、マーク配置記憶部を参照して、検出されたグループにおけるマークの配置と同一の配置のグループを探索し、対応付けられた位置情報をロボットの現在位置として特定する現在位置特定部を備える。   Japanese Patent Laying-Open No. 2007-257226 (Patent Document 2) discloses a self-position detection device and a position detection system for a moving body. According to Japanese Patent Application Laid-Open No. 2007-257226 (Patent Document 2), the self-position detection device is provided in a robot that moves in a moving area having a ceiling to which a plurality of marks for position identification are affixed in an irregular arrangement, Mark arrangement storage that stores an infrared irradiation unit that irradiates infrared rays on the ceiling, a top camera that captures a mark that reflects the irradiated infrared rays, information on the arrangement of marks on the ceiling, and positional information of moving areas , A mark detection unit that detects a plurality of marks as a group characterized by the arrangement of each of the four marks by performing image processing on the captured mark, and a mark arrangement storage unit. A group having the same arrangement as the mark arrangement in the group is searched, and the associated position information is identified as the current position of the robot. Position includes a specific section.

また、特開2008−71352号公報(特許文献3)には、複数のパーティクルを用いるパーティクルフィルタ基盤の移動ロボットの姿勢推定装置が開示されている。特開2008−71352号公報(特許文献3)によると、移動ロボットの姿勢変化量を感知するセンサと、以前パーティクルに感知された姿勢変化量を適用して、現在パーティクルの姿勢および加重値を求めるパーティクルフィルタ部と、求めた姿勢および加重値に進化アルゴリズムを適用して、現在パーティクルの姿勢および加重値を更新する進化適用部とを含む。   Japanese Unexamined Patent Application Publication No. 2008-71352 (Patent Document 3) discloses a posture estimation apparatus for a mobile robot based on a particle filter using a plurality of particles. According to Japanese Patent Laying-Open No. 2008-71352 (Patent Document 3), a sensor for detecting a posture change amount of a mobile robot and a posture change amount previously detected by a particle are applied to obtain the posture and weight value of the current particle. A particle filter unit, and an evolution application unit that applies an evolution algorithm to the obtained posture and weight and updates the posture and weight of the current particle.

また、特開2007−240295号公報(特許文献4)には、位置推定装置が開示されている。特開2007−240295号公報(特許文献4)によると、位置センサは、複数の人物の位置を検出する。IDセンサは、各人物が装着した光IDタグのID番号を検出する。位置尤度算出部は、検出された位置を用いて人物の位置の尤度を算出する。ID尤度算出部は、検出されたID番号を用いて光IDタグのID番号の尤度を算出する。位置推定部は、算出された人物の位置の尤度及びID番号の尤度を基に各人物の位置を推定する。   Japanese Patent Laying-Open No. 2007-240295 (Patent Document 4) discloses a position estimation device. According to Japanese Patent Laying-Open No. 2007-240295 (Patent Document 4), the position sensor detects the positions of a plurality of persons. The ID sensor detects the ID number of the optical ID tag attached to each person. The position likelihood calculating unit calculates the likelihood of the position of the person using the detected position. The ID likelihood calculating unit calculates the likelihood of the ID number of the optical ID tag using the detected ID number. The position estimation unit estimates the position of each person based on the calculated likelihood of the position of the person and the likelihood of the ID number.

また、特開2006−508345号公報(特許文献5)には、測距および測位方法および装置が開示されている。特開2006−508345号公報(特許文献5)によると、そのような方法および装置は、縦方向および横方向に延びる壁および通路を備えたビルディング内で利用される。基地局は、縦方向および横方向に向いたcosecのパターンを有する向きのアンテナを備え、移動局の位置を決定するためにその距離を測定する。
特開2003−166824号公報 特開2007−257226号公報 特開2008−071352号公報 特開2007−240295号公報 特開2006−508345号公報
Japanese Patent Laying-Open No. 2006-508345 (Patent Document 5) discloses a ranging and positioning method and apparatus. According to Japanese Unexamined Patent Publication No. 2006-508345 (Patent Document 5), such a method and apparatus is used in a building having walls and passages extending in the vertical and horizontal directions. The base station is equipped with an antenna oriented with a cosec 2 pattern oriented in the vertical and horizontal directions and measures its distance to determine the position of the mobile station.
JP 2003-166824 A JP 2007-257226 A JP 2008-071352 A JP 2007-240295 A JP 2006-508345 A

しかしながら、脚部を有する歩行可能なロボットに関しては、エンコーダなどによって正確な移動量を取得することが困難である。すなわち、車輪によって走行するロボットと比較して、正確な現在位置を取得することが困難である。そのため、上記のように、従来のロボットの現在位置の測定においては、測定精度を向上させるために当該ロボットが移動するエリア内(エリア近隣)に多数のマーカを設置するなどしていた。より詳細には、ロボットやサーバ装置は、そのような多数のマーカとロボットとの相対位置関係を求めたうえで、当該相対位置関係に基づいてロボットの現在位置を取得するなどしていた。すなわち、従来のロボットにおいては、現在位置の測定精度を向上させるために、ロボットが移動するエリアに多数のマーカを設置する必要があった。   However, for a walkable robot having legs, it is difficult to obtain an accurate movement amount using an encoder or the like. That is, it is difficult to obtain an accurate current position as compared with a robot that travels by wheels. Therefore, as described above, in the measurement of the current position of the conventional robot, in order to improve the measurement accuracy, a large number of markers are installed in the area where the robot moves (in the vicinity of the area). More specifically, the robot or the server device obtains the current position of the robot based on the relative positional relationship after obtaining the relative positional relationship between such a large number of markers and the robot. That is, in the conventional robot, in order to improve the measurement accuracy of the current position, it is necessary to install a large number of markers in the area where the robot moves.

この発明は、かかる問題を解決するためになされたものであり、その目的は、移動体が移動するエリアにマーカを設置することなく、移動体の動作を制御するための移動体制御システムおよび移動体制御方法を提供することである。   The present invention has been made to solve such a problem, and an object of the present invention is to provide a moving body control system and a movement for controlling the operation of the moving body without placing a marker in an area where the moving body moves. It is to provide a body control method.

この発明のある局面に従うと、移動体の動作を制御するための移動体制御システムが提供される。移動体は、移動体を移動させる移動機構と、移動体の測定向きを取得する方位取得手段と、音波および電波の少なくともいずれかを発信する発信手段と、移動体周辺の障害物までの測定距離を取得する距離取得手段とを含む。移動体制御システムは、障害物の位置を示す地図データを格納する記憶手段と、音波および電波の少なくともいずれかに基づいて、移動体の測定位置を計算する第1の位置取得手段と、測定位置と測定向きと測定距離と地図データとに基づいて、移動体の現在位置を計算する第2の位置取得手段とを備える。   According to one aspect of the present invention, a moving body control system for controlling the operation of a moving body is provided. The moving body includes a moving mechanism for moving the moving body, an azimuth acquiring means for acquiring the measurement direction of the moving body, a transmitting means for transmitting at least one of sound waves and radio waves, and a measurement distance to an obstacle around the moving body. Distance acquisition means for acquiring. The mobile body control system includes a storage means for storing map data indicating the position of an obstacle, a first position acquisition means for calculating a measurement position of the mobile body based on at least one of sound waves and radio waves, a measurement position And a second position acquisition means for calculating the current position of the moving body based on the measurement direction, the measurement distance, and the map data.

好ましくは、第2の位置取得手段は、パーティクルフィルタを用いることによって、前回の現在位置にさらに基づいて、移動体の現在位置を計算する。   Preferably, the second position acquisition unit calculates the current position of the moving body based on the previous current position by using a particle filter.

好ましくは、第2の位置取得手段は、移動体の仮想位置を示す複数のパーティクルを取得するパーティクル取得手段と、測定位置と測定距離と地図データとに基づいて、パーティクルの各々に重みを設定する設定手段と、それぞれのパーティクルの仮想位置と重みとに基づいて、移動体の現在位置を計算する計算手段とを含む。   Preferably, the second position acquisition unit sets a weight for each of the particles based on the particle acquisition unit that acquires a plurality of particles indicating the virtual position of the moving body, the measurement position, the measurement distance, and the map data. Setting means and calculation means for calculating the current position of the moving object based on the virtual position and weight of each particle.

好ましくは、第2の位置取得手段は、移動体の仮想位置および仮想向きを示す複数のパーティクルを取得するパーティクル取得手段と、測定位置と測定距離と地図データと測定向きとに基づいて、各パーティクルに重みを設定する設定手段と、それぞれのパーティクルの仮想位置と重みとに基づいて移動体の現在位置を計算し、それぞれのパーティクルの仮想向きと重みとに基づいて移動体の現在向きを計算する計算手段とを含む。   Preferably, the second position acquisition unit is configured to acquire each particle based on the particle acquisition unit that acquires a plurality of particles indicating the virtual position and virtual direction of the moving body, the measurement position, the measurement distance, the map data, and the measurement direction. The current position of the moving object is calculated based on the setting means for setting the weight to each particle, the virtual position and the weight of each particle, and the current direction of the moving object is calculated based on the virtual direction and the weight of each particle. And calculating means.

好ましくは、移動体制御システムは、目的地点を受け付ける手段と、地図データを参照して、現在位置と目的地点とに基づき移動体の移動経路を生成する経路生成手段と、移動経路と現在位置とに基づいて、移動方向および歩数を含む動作命令を生成する動作命令生成手段とをさらに備える。移動機構は、動作命令に基づいて移動体を移動させることによって、移動体を移動経路に追従させる。   Preferably, the moving body control system includes a means for receiving the destination, a path generation means for generating a moving path of the moving body based on the current position and the destination, with reference to the map data, and the movement path and the current position. And an operation command generating means for generating an operation command including the moving direction and the number of steps. The moving mechanism causes the moving body to follow the moving path by moving the moving body based on the operation command.

好ましくは、移動体は、脚式ロボットである。移動機構は、歩行可能な複数の脚部を含む。   Preferably, the moving body is a legged robot. The moving mechanism includes a plurality of leg portions capable of walking.

この発明の別の局面に従うと、移動体に接続可能なサーバにおいて移動体の動作を制御するための移動体制御方法が提供される。移動体は、移動体を移動させる移動機構と、移動体の測定向きを取得する方位取得手段と、音波および電波の少なくともいずれかを発信する発信手段と、移動体周辺の障害物までの測定距離を取得する距離取得手段とを含む。サーバ装置は、障害物の位置を示す地図データを格納する記憶部と、演算処理部とを含む。移動体制御方法は、演算処理部が、音波および電波の少なくともいずれかに基づいて、移動体の測定位置を取得するステップと、演算処理部が、測定位置と測定向きと測定距離と地図データとに基づいて、移動体の現在位置を計算するステップと、演算処理部が、目的地点を受け付けるステップと、演算処理部が、地図データを参照して、現在位置と目的地点とに基づき移動体の移動経路を生成するステップと、演算処理部が、移動経路と現在位置とに基づいて、移動方向および歩数を含む動作命令を生成するステップと、移動機構が、動作命令に基づいて移動体を移動させることによって、移動体を移動経路に追従させるステップとを備える。   When another situation of this invention is followed, the mobile body control method for controlling operation | movement of a mobile body in the server which can be connected to a mobile body is provided. The moving body includes a moving mechanism for moving the moving body, an azimuth acquiring means for acquiring the measurement direction of the moving body, a transmitting means for transmitting at least one of sound waves and radio waves, and a measurement distance to an obstacle around the moving body. Distance acquisition means for acquiring. The server device includes a storage unit that stores map data indicating the position of an obstacle, and an arithmetic processing unit. The mobile body control method includes a step in which the arithmetic processing unit acquires a measurement position of the mobile body based on at least one of sound waves and radio waves, and the arithmetic processing unit includes a measurement position, a measurement direction, a measurement distance, and map data. And calculating the current position of the moving body, the step of the arithmetic processing unit receiving the destination point, and the arithmetic processing unit referring to the map data based on the current position and the destination point. A step of generating a moving route, a step of generating an operation command including a moving direction and the number of steps based on the moving route and the current position, and a moving mechanism moving the moving body based on the operating command. Causing the moving body to follow the moving path.

この発明によれば、移動体が移動するエリア内にマーカを設置することなく、比較的低性能のセンサで、移動体の現在位置を精度良く取得することができる移動体制御システムが提供される。また、脚式といった移動量の測定精度が期待できない機構を有する移動体であっても、目的地点まで精度よく移動可能な経路追従方法を提供する。   According to the present invention, there is provided a moving body control system that can accurately acquire the current position of a moving body with a relatively low performance sensor without installing a marker in an area in which the moving body moves. . Moreover, even if it is a mobile body which has the mechanism which cannot anticipate the measurement precision of the moving amount like a leg type, the path | route following method which can move to a destination point with high precision is provided.

この発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。   Embodiments of the present invention will be described in detail with reference to the drawings. In addition, about the same or equivalent part in a figure, the same code | symbol is attached | subjected and the description is not repeated.

<脚式ロボットの制御システム1の全体構成>
図1は、この発明の実施の形態に従う脚式ロボット100の制御システム1の概略構成図である。
<Overall Configuration of Legged Robot Control System 1>
FIG. 1 is a schematic configuration diagram of a control system 1 for a legged robot 100 according to an embodiment of the present invention.

図1を参照して、脚式ロボット100の制御システム1は、家屋200内を移動する脚式ロボット100と、脚式ロボット100から発信される超音波信号を受信する超音波受信機41と、各種センサからデータを受け取って脚式ロボット100の現在位置を計算するサーバ装置50とを含む。本実施の形態に係る脚式ロボット100は、4本の脚部を有して、4足歩行を行う形態としているが、人型の2足歩行を行う形態であってもよい。   Referring to FIG. 1, a control system 1 for a legged robot 100 includes a legged robot 100 that moves in a house 200, an ultrasonic receiver 41 that receives an ultrasonic signal transmitted from the legged robot 100, and And a server device 50 that receives data from various sensors and calculates the current position of the legged robot 100. The legged robot 100 according to the present embodiment has four legs and performs a quadruped walking, but may be a humanoid biped walking.

ただし、本発明に係る現在位置や現在向きの取得方法は、脚式ロボットだけでなく、車輪を有する走行ロボットに対しても適用することができる。すなわち、ロボットが有する移動機構の形態にかかわらず、本発明に係る現在位置や現在向きを取得するための構成によって、より正確な現在位置や現在向きを取得することが可能となる。   However, the present position and current direction acquisition method according to the present invention can be applied not only to legged robots but also to traveling robots having wheels. That is, regardless of the form of the moving mechanism that the robot has, the current position and current direction can be acquired more accurately by the configuration for acquiring the current position and current direction according to the present invention.

サーバ装置50と脚式ロボット100とは、相互にデータ通信可能に構成される。そして、サーバ装置50は、LAN(Local Area Network)やWAN(Wide Area Network)などの専用回線や、インターネットや仮想プライベートネットワーク(Virtual Private Network)などの公衆回線を介して、外部から脚式ロボット100に対する動作命令などを受信する。   The server device 50 and the legged robot 100 are configured to be capable of data communication with each other. The server device 50 is externally connected to the legged robot 100 via a dedicated line such as a LAN (Local Area Network) or a WAN (Wide Area Network) or a public line such as the Internet or a virtual private network. The operation command for the is received.

脚式ロボット100は、代表的に、外部からの移動命令に応じて自律移動(4足歩行)を行ったり、外部からの撮影命令に応じて脚式ロボット100の周囲を撮影したりすることができる。より詳細には、脚式ロボット100は、頭部101と胴部102と脚部103とを有している。頭部101と脚部103とは、それぞれアクチュエータ等の駆動機構を有しており、これらの駆動機構によって各種の動作が行われる。たとえば、アクチュエータを制御することによって、脚式ロボット100の4足歩行の制御を行うことができる。   The legged robot 100 typically performs autonomous movement (four-legged walking) in accordance with a movement command from the outside, or images the surroundings of the legged robot 100 in accordance with a shooting command from the outside. it can. More specifically, the legged robot 100 includes a head 101, a trunk 102, and a leg 103. The head 101 and the leg 103 each have a drive mechanism such as an actuator, and various operations are performed by these drive mechanisms. For example, the quadruped walking of the legged robot 100 can be controlled by controlling the actuator.

<脚式ロボットの制御システム1の動作概要>
ここで、本実施の形態に係る脚式ロボット100の制御システム1の動作概要について説明する。図2は、この発明の実施の形態に従う脚式ロボット100の制御システム1における動作概要を示すシーケンス図である。図1および図2に示すように、まず、脚式ロボット100が移動する(ステップS002)。脚式ロボット100から超音波が発信される(ステップS004)。家屋200内に、あるいは脚式ロボット100が移動するエリア内に配置されている超音波受信機41が、脚式ロボット100からの超音波を受信する(ステップS006)。
<Outline of the operation of the legged robot control system 1>
Here, an outline of the operation of the control system 1 of the legged robot 100 according to the present embodiment will be described. FIG. 2 is a sequence diagram showing an outline of operation in control system 1 of legged robot 100 according to the embodiment of the present invention. As shown in FIGS. 1 and 2, first, the legged robot 100 moves (step S002). An ultrasonic wave is transmitted from the legged robot 100 (step S004). The ultrasonic receiver 41 arranged in the house 200 or in the area where the legged robot 100 moves receives the ultrasonic waves from the legged robot 100 (step S006).

超音波受信機41は、受信した超音波に基づいて脚式ロボット100の位置を計算する、すなわち脚式ロボット100の測定位置を取得する。超音波受信機41は取得した測定位置をサーバ装置50へと送信し(ステップS008)、サーバ装置50は測定位置を取得する(ステップS010)。ただし、超音波受信機41が、受信した超音波に関するデータをそのままサーバ装置50へと送信し、サーバ装置50がそのデータに基づいて脚式ロボット100の測定位置を計算してもよい。   The ultrasonic receiver 41 calculates the position of the legged robot 100 based on the received ultrasonic waves, that is, acquires the measurement position of the legged robot 100. The ultrasonic receiver 41 transmits the acquired measurement position to the server device 50 (step S008), and the server device 50 acquires the measurement position (step S010). However, the ultrasonic receiver 41 may transmit the received ultrasonic data as it is to the server device 50, and the server device 50 may calculate the measurement position of the legged robot 100 based on the data.

脚式ロボット100は、後述する方位磁気センサなどを利用して測定方向(脚式ロボット100の測定向き、測定方位)を計算し、当該測定方向をサーバ装置50へと送信する(ステップS012)。サーバ装置50は、脚式ロボット100の測定方向を受信する(ステップS014)。   The legged robot 100 calculates a measurement direction (measurement direction, measurement direction of the legged robot 100) using an azimuth magnetic sensor, which will be described later, and transmits the measurement direction to the server device 50 (step S012). The server device 50 receives the measurement direction of the legged robot 100 (step S014).

脚式ロボット100は、後述する測距センサなどを利用して障害物(壁や家具)までの距離を計算し、当該障害物までの距離をサーバ装置50へと送信する(ステップS016)。サーバ装置50は、障害物までの距離を受信する(ステップS018)。   The legged robot 100 calculates a distance to an obstacle (wall or furniture) using a distance measuring sensor described later, and transmits the distance to the obstacle to the server device 50 (step S016). The server device 50 receives the distance to the obstacle (step S018).

そして、サーバ装置50は、パーティクルフィルタを利用して脚式ロボット100の現在位置を取得する(ステップS020)。より詳細には、サーバ装置50は、各パーティクルの仮想位置や仮想方向(仮想向きあるいは仮想方位)に対し、超音波による測定位置と方位磁気センサによる測定方向と測距センサによる障害物までの距離と基づいて、家屋200内の地図データ、あるいは脚式ロボット100が移動するエリア内の地図データを参照して、重み付けを行う。サーバ装置50は、それぞれのパーティクルの仮想位置および仮想方向と重みとに基づいて、現在位置と現在方向(現在向きあるいは現在方位)とを計算する。   Then, the server device 50 acquires the current position of the legged robot 100 using the particle filter (step S020). More specifically, the server device 50 determines the measurement position by the ultrasonic wave, the measurement direction by the azimuth magnetic sensor, and the distance to the obstacle by the distance measurement sensor with respect to the virtual position and virtual direction (virtual direction or virtual orientation) of each particle. The weighting is performed with reference to the map data in the house 200 or the map data in the area where the legged robot 100 moves. The server device 50 calculates the current position and the current direction (current direction or current direction) based on the virtual position and virtual direction of each particle and the weight.

サーバ装置50は、取得した現在位置と現在方向とに基づいて、脚式ロボット100に動作命令(移動命令や停止命令や撮影命令など)を送信する(ステップS022)。脚式ロボット100は、サーバ装置50から動作命令を受信して(ステップS024)、当該動作命令に基づいて各種動作(移動など)を実行する(ステップS026)。   The server device 50 transmits an operation command (movement command, stop command, imaging command, etc.) to the legged robot 100 based on the acquired current position and current direction (step S022). The legged robot 100 receives the operation command from the server device 50 (step S024), and executes various operations (movement, etc.) based on the operation command (step S026).

以下、このような機能を実現するための構成について詳述する。
<脚式ロボットの制御システム1のハードウェア構成>
図3は、この発明の実施の形態に従う脚式ロボット100の制御システム1のハードウェア構成を示す模式図である。
Hereinafter, a configuration for realizing such a function will be described in detail.
<Hardware configuration of legged robot control system 1>
FIG. 3 is a schematic diagram showing a hardware configuration of control system 1 for legged robot 100 according to the embodiment of the present invention.

図3を参照して、脚式ロボット100は、無線通信によって無線LANアクセスポイント49と接続される。たとえば、脚式ロボット100は、内部の無線LAN子機119を利用して無線LANアクセスポイント49に接続される。無線LANアクセスポイント49は、LANなどを介してサーバ装置(外部PCサーバ)50と接続されている。   Referring to FIG. 3, legged robot 100 is connected to a wireless LAN access point 49 by wireless communication. For example, the legged robot 100 is connected to the wireless LAN access point 49 using the internal wireless LAN slave unit 119. The wireless LAN access point 49 is connected to a server device (external PC server) 50 via a LAN or the like.

サーバ装置50は、LANなどを介して、マイクアレイ用環境サーバ20や、セキュリティサーバ30や、超音波用環境サーバ40や、図示しない端末装置などに接続されている。マイクアレイ用環境サーバ20は、たとえば、外部マイクロフォンアレイ21と接続されている。セキュリティサーバ30は、たとえば、家屋200内に設置される複数のセキュリティセンサ31に接続されている。超音波用環境サーバ40は、家屋内に設置される複数の超音波受信機41に接続されている。   The server device 50 is connected to the microphone array environment server 20, the security server 30, the ultrasonic environment server 40, a terminal device (not shown), and the like via a LAN. The microphone array environment server 20 is connected to, for example, an external microphone array 21. The security server 30 is connected to a plurality of security sensors 31 installed in the house 200, for example. The ultrasonic environment server 40 is connected to a plurality of ultrasonic receivers 41 installed in the house.

サーバ装置50は、脚式ロボット100を管理(制御)するものであり、無線LANアクセスポイント49やLANなどを介して、脚式ロボット100に対する移動や撮影などの各種制御を行うと共に、脚式ロボット100に対して必要な情報を提供する。   The server device 50 manages (controls) the legged robot 100, and performs various controls such as movement and photographing with respect to the legged robot 100 via the wireless LAN access point 49 or the LAN, and the legged robot. Provide necessary information to 100.

以下、脚式ロボット100について説明する。
脚式ロボット100は、脚式ロボット100の各部に電力を供給するバッテリ電源112と、無線LANアクセスポイント49と通信を行う無線LAN子機119と、無線LAN子機119に接続されるLAN用ハブ118と、LAN用ハブ118に接続される画像送信ユニット113と、各種のセンサに接続されるセンサコントロールユニット121と、アクチュエータ108などに接続されるモータコントロールボード107とを含む。
Hereinafter, the legged robot 100 will be described.
The legged robot 100 includes a battery power source 112 that supplies power to each part of the legged robot 100, a wireless LAN slave unit 119 that communicates with the wireless LAN access point 49, and a LAN hub connected to the wireless LAN slave unit 119. 118, an image transmission unit 113 connected to the LAN hub 118, a sensor control unit 121 connected to various sensors, and a motor control board 107 connected to the actuator 108 and the like.

画像送信ユニット113は、脚式ロボット100外部に超音波を発信する超音波発信タグ114と、周囲の物体や人物を撮影するカメラ115と、音声を出力するスピーカ116と、周囲の音声を受け付けるマイク117とに接続される。カメラ115は、映像をデジタルデータとして取り込むことができるものであり、たとえば、カラーCCD(Charge-Coupled Device)カメラが使用される。   The image transmission unit 113 includes an ultrasonic transmission tag 114 that transmits ultrasonic waves to the outside of the legged robot 100, a camera 115 that captures surrounding objects and people, a speaker 116 that outputs sound, and a microphone that receives the surrounding sound. 117. The camera 115 can capture video as digital data. For example, a color CCD (Charge-Coupled Device) camera is used.

カメラ115は、サーバ装置50からの撮影命令に基づいて、脚式ロボット100の周囲(たとえば頭部101の前方など)を撮影する。カメラ115は、撮影した画像データを画像送信ユニット113に出力する。画像データは、無線LAN子機119を介して、サーバ装置50へと送信される。このカメラ115と、マイク117とは、いずれも脚式ロボット100の頭部101に配設される。そして、スピーカ116などは脚式ロボット100の胴部102(背中)に配設される。   The camera 115 captures the surroundings of the legged robot 100 (for example, the front of the head 101) based on the imaging command from the server device 50. The camera 115 outputs the captured image data to the image transmission unit 113. The image data is transmitted to the server device 50 via the wireless LAN slave device 119. Both the camera 115 and the microphone 117 are disposed on the head 101 of the legged robot 100. The speaker 116 and the like are disposed on the trunk 102 (back) of the legged robot 100.

センサコントロールユニット121は、脚式ロボット100の向きを測定するための方位センサ104と、人間の存在を検知する人感センサ105と、障害物(壁や家具等)までの距離を測定する測距センサ106と、壁や物体までの距離を検知するための赤外線測距センサ126と、床までの距離を検知するための赤外線測距センサ136とに接続される。測距センサ106,126,136は、たとえば三角測量のように、脚式ロボット100の周囲に赤外線を照射して、その反射光を受光することによって脚式ロボット100から障害物や床までの距離を測定する。   The sensor control unit 121 measures an orientation sensor 104 for measuring the orientation of the legged robot 100, a human sensor 105 for detecting the presence of a human, and a distance measurement for measuring a distance to an obstacle (such as a wall or furniture). The sensor 106 is connected to an infrared distance measuring sensor 126 for detecting a distance to a wall or an object, and an infrared distance measuring sensor 136 for detecting a distance to the floor. The distance measuring sensors 106, 126, 136 irradiate infrared rays around the legged robot 100 and receive the reflected light, for example, as in triangulation, and the distance from the legged robot 100 to the obstacle or the floor. Measure.

モータコントロールボード107は、脚式ロボット100の頭部101や脚部103を動かすための各種のアクチュエータ108や、脚式ロボット100の向きを測定するための3つの1軸ジャイロセンサ109や、脚式ロボット100の加速度を測定するための3軸加速度センサ110に接続される。ここで、アクチュエータ108は、バッテリ電源111にも接続される。   The motor control board 107 includes various actuators 108 for moving the head 101 and the leg 103 of the legged robot 100, three one-axis gyro sensors 109 for measuring the orientation of the legged robot 100, leg type It is connected to a three-axis acceleration sensor 110 for measuring the acceleration of the robot 100. Here, the actuator 108 is also connected to the battery power supply 111.

<サーバ装置50のハードウェア構成>
図4は、この発明の実施の形態に従うサーバ装置50のハードウェア構成を示す模式図である。
<Hardware Configuration of Server Device 50>
FIG. 4 is a schematic diagram showing a hardware configuration of server device 50 according to the embodiment of the present invention.

図4を参照して、サーバ装置50は、オペレーティングシステムを含む各種プログラムを実行するCPU55と、CPU55でのプログラムの実行に必要なデータを一時的に記憶するメモリ56と、CPU55で実行されるプログラムを不揮発的に記憶する固定ディスク57とを備える。このようなプログラムは、CD−ROM(Compact Disk-Read Only Memory)駆動装置63またはフレキシブルディスク(FD:Flexible Disk)駆動装置61によって、それぞれCD−ROM64またはフレキシブルディスク62などから読取られる。   Referring to FIG. 4, server device 50 includes a CPU 55 that executes various programs including an operating system, a memory 56 that temporarily stores data necessary for execution of the program by CPU 55, and a program that is executed by CPU 55. Is stored in a nonvolatile manner. Such a program is read from a CD-ROM 64 or a flexible disk 62 by a CD-ROM (Compact Disk-Read Only Memory) driving device 63 or a flexible disk (FD: Flexible Disk) driving device 61, respectively.

CPU55は、キーボード53やマウス54を介してユーザから操作要求を受け取るとともに、プログラムの実行によって生成されるテキストデータや画像データを表示部インターフェイス65を介してディスプレイ部52へ出力する。また、CPU55は、LANカードなどからなる通信インターフェイス59を介して、脚式ロボット100との間でデータ通信を行う。なお、これらの部位は、内部バス58を介して互いに接続される。   The CPU 55 receives an operation request from the user via the keyboard 53 and the mouse 54 and outputs text data and image data generated by executing the program to the display unit 52 via the display unit interface 65. The CPU 55 performs data communication with the legged robot 100 via a communication interface 59 such as a LAN card. These parts are connected to each other via an internal bus 58.

脚式ロボット100や超音波受信機41からLANを介して送信されてくるデータは、通信インターフェイス59にて受信される。CPU55は、受信したデータをメモリ56などに格納する。CPU55は、受信したデータに応じて、脚式ロボット100から要求されたデータなどを固定ディスク57から読み出して、通信インターフェイス59を介して脚式ロボット100へと送信する。   Data transmitted from the legged robot 100 and the ultrasonic receiver 41 via the LAN is received by the communication interface 59. The CPU 55 stores the received data in the memory 56 or the like. In accordance with the received data, the CPU 55 reads data requested from the legged robot 100 from the fixed disk 57 and transmits it to the legged robot 100 via the communication interface 59.

また、CPU55は、キーボード53やマウス54を介してユーザから入力される命令、インターネットと通信インターフェイス59とを介して入力される命令などに基づいて、LANを介して移動命令や撮影命令などを脚式ロボット100に送信する。   In addition, the CPU 55 reads a movement command, a shooting command, or the like via the LAN based on a command input from the user via the keyboard 53 or the mouse 54, a command input via the Internet and the communication interface 59, or the like. To the robot 100.

次に、サーバ装置50の有する機能構成について詳述する。
<サーバ装置50の機能構成>
図5は、この発明の実施の形態に従うサーバ装置50における機能構成を示すブロック図である。図5を参照して、サーバ装置50は、サーバ装置50の各部を制御するメイン処理部55Aと、プログラムやデータベースなどを格納する記憶部57Sと、脚式ロボット100の位置を検知する第1の位置取得部55Bと、設定された経路上を脚式ロボット100を移動させるための経路追従部55Cと、セキュリティ部55Dと、LANを介して室内に配置された複数のマイクやマイクサーバ20から受信した音声データに基づいて会話を認識する音声認識部55Eと、人間の存在やその位置などを検知する人検知部55Fと、人間の顔が位置するエリアを認識する顔認識部55Gと、LANを介して脚式ロボット100から音声データを受信する音声受信部55Hと、LANを介して脚式ロボット100から脚部の動作に関する動作データや障害物の存否に関するデータなどを受信するコマンド受信部55Jと、LANを介して脚式ロボット100から方位データを受信する方位データ受信部55Kとを含む。
Next, the functional configuration of the server device 50 will be described in detail.
<Functional configuration of server device 50>
FIG. 5 is a block diagram showing a functional configuration in server device 50 according to the embodiment of the present invention. Referring to FIG. 5, server device 50 has a main processing unit 55 </ b> A that controls each unit of server device 50, a storage unit 57 </ b> S that stores a program, a database, and the like, and a first that detects the position of legged robot 100. Received from the position acquisition unit 55B, the route follower 55C for moving the legged robot 100 on the set route, the security unit 55D, and a plurality of microphones or microphone server 20 arranged indoors via the LAN A voice recognition unit 55E that recognizes a conversation based on the voice data, a human detection unit 55F that detects the presence and position of a human, a face recognition unit 55G that recognizes an area where a human face is located, and a LAN. A voice receiving unit 55H for receiving voice data from the legged robot 100 via the LAN, and operation data relating to the leg movement from the legged robot 100 via the LAN. Including and a command receiving unit 55J for receiving such data regarding the presence or absence of an obstacle, the direction data receiving unit 55K that receives the azimuth data from the legged robot 100 via the LAN.

ここで、メイン処理部55Aや経路追従部55Cは、CPU55が固定ディスク57などに予め格納されていたプログラムをメモリ56に読出して実行することで実現されるものである。経路追従部55Cは、計算された現在位置と入力された目的地(あるいは計算された目的地)とに基づいて、各種のアルゴリズムに沿って脚式ロボット100の移動経路を生成する。経路追従部55Cは、移動経路に沿って脚式ロボット100が移動するように、脚式ロボット100に対する具体的な移動命令を生成する。   Here, the main processing section 55A and the path following section 55C are realized by the CPU 55 reading out a program stored in advance in the fixed disk 57 or the like to the memory 56 and executing it. The route follower 55C generates a movement route of the legged robot 100 along various algorithms based on the calculated current position and the input destination (or the calculated destination). The path following unit 55C generates a specific movement command for the legged robot 100 so that the legged robot 100 moves along the movement path.

第1の位置取得部55Bは、CPU55や通信インターフェイス59によって実現されるものであって、超音波サーバ40(超音波受信機41)から受信したデータに基づいて、脚式ロボット100の現在位置(測定位置)を計算する。   The first position acquisition unit 55B is realized by the CPU 55 and the communication interface 59, and based on the data received from the ultrasonic server 40 (ultrasonic receiver 41), the current position of the legged robot 100 ( (Measurement position) is calculated.

セキュリティ部55Dは、CPU55や通信インターフェイス59によって実現されるものであって、セキュリティサーバ30から受信したセキュリティ情報に基づいて、セキュリティモードを切り替えたり、セキュリティに関する動作命令(たとえば警報の出力命令など)を生成したりする。   The security unit 55D is realized by the CPU 55 and the communication interface 59. The security unit 55D switches the security mode based on the security information received from the security server 30, and issues an operation command related to security (for example, an alarm output command). Or generate.

音声認識部55Eは、CPU55や通信インターフェイス59によって実現される。音声認識部55Eは、脚式ロボット100から受信した音声データに基づいて、脚式ロボット100に入力された音声に対応する音声認識テキストをメイン処理部55Aに入力する。   The voice recognition unit 55E is realized by the CPU 55 and the communication interface 59. The speech recognition unit 55E inputs speech recognition text corresponding to the speech input to the legged robot 100 to the main processing unit 55A based on the speech data received from the legged robot 100.

人検知部55Fは、CPU55や通信インターフェイス59によって実現される。人検知部55Fは、脚式ロボット100から受信した人感センサ105の反応データと画像データなどに基づいて、脚式ロボット100の周囲に人が存在するか否かを判断し、人が存在する位置を取得する。   The human detection unit 55F is realized by the CPU 55 and the communication interface 59. The human detection unit 55F determines whether or not there is a person around the legged robot 100 based on the reaction data and image data of the human sensor 105 received from the legged robot 100, and the person exists. Get the position.

顔認識部55Gは、CPU55や通信インターフェイス59によって実現される。顔認識部55Gは、脚式ロボット100から受信した画像データに基づいて、人間の顔の検知と認証を行う。   The face recognition unit 55G is realized by the CPU 55 and the communication interface 59. The face recognition unit 55G detects and authenticates a human face based on the image data received from the legged robot 100.

音声受信部55Hは、CPU55や通信インターフェイス59によって実現される。音声受信部55Hは、脚式ロボット100から音声データを受信する。   The voice receiving unit 55H is realized by the CPU 55 and the communication interface 59. The voice receiving unit 55H receives voice data from the legged robot 100.

コマンド受信部55Jは、CPU55や通信インターフェイス59によって実現される。コマンド受信部55Jは、脚式ロボット100から、脚式ロボット100の近傍に障害物が存在する旨のデータや、脚式ロボット100が障害物に接触した旨のデータや、脚式ロボット100に関する状態情報などを取得する。   The command receiving unit 55J is realized by the CPU 55 and the communication interface 59. The command receiving unit 55J receives data indicating that there is an obstacle in the vicinity of the legged robot 100 from the legged robot 100, data indicating that the legged robot 100 is in contact with the obstacle, and status regarding the legged robot 100. Get information.

方位データ受信部55Kは、CPU55や通信インターフェイス59によって実現される。方位データ受信部55Kは、LANを介して、脚式ロボット100から脚式ロボット100の測定向き(測定方向)を受信する。   The orientation data receiving unit 55K is realized by the CPU 55 and the communication interface 59. The azimuth data receiving unit 55K receives the measurement direction (measurement direction) of the legged robot 100 from the legged robot 100 via the LAN.

<脚式ロボットの制御システム1の機能構成>
図6は、この発明の実施の形態に従う脚式ロボット100の制御システム1における機能構成を示すブロック図である。図6を参照して、脚式ロボット100の制御システム1は、脚式ロボット100と、サーバ装置50と、超音波受信機41とを含む。
<Functional Configuration of Legged Robot Control System 1>
FIG. 6 is a block diagram showing a functional configuration in control system 1 of legged robot 100 according to the embodiment of the present invention. Referring to FIG. 6, control system 1 for legged robot 100 includes legged robot 100, server device 50, and ultrasonic receiver 41.

脚式ロボット100は、移動機構108Aと、送受信部119Aと、発信部114Aと、方位取得部104Aと、距離取得部106Aとを含む。   Legged robot 100 includes a moving mechanism 108A, a transmission / reception unit 119A, a transmission unit 114A, an orientation acquisition unit 104A, and a distance acquisition unit 106A.

図3および図6に示すように、送受信部119Aは、無線LAN子機119やLAN用ハブ118などによって実現される。送受信部119Aは、LANを介してサーバ装置50から各種命令を受信したり、LANを介してサーバ装置50に各種データを送信したりする。より詳細には、送受信部119Aは、サーバ装置50に測定距離や測定方向を送信し、サーバ装置50から移動命令や撮影命令を受信する。   As shown in FIGS. 3 and 6, the transmission / reception unit 119A is realized by a wireless LAN slave unit 119, a LAN hub 118, and the like. The transmission / reception unit 119A receives various commands from the server device 50 via the LAN, and transmits various data to the server device 50 via the LAN. More specifically, the transmission / reception unit 119A transmits a measurement distance and a measurement direction to the server device 50, and receives a movement command and a photographing command from the server device 50.

移動機構108Aは、たとえば、それぞれの脚部103を動作させるための複数のアクチュエータ108を含む複数の脚部103によって実現される。たとえば、移動機構108Aは、送受信部119Aを介して入力される移動命令に応じて、アクチュエータ108を作動させることによって脚式ロボット100を移動させる。たとえば、移動機構108Aは、送受信部119Aを介して入力される停止命令に応じて、アクチュエータ108を停止させることによって脚式ロボット100を停止させる。より詳細には、サーバ装置50から受信した「○歩前進、肩の角度○○度」という移動命令に基づいて、それぞれのアクチュエータ108(脚部103)が作動することによって、脚式ロボット100が移動する。   The moving mechanism 108 </ b> A is realized by a plurality of legs 103 including a plurality of actuators 108 for operating the legs 103, for example. For example, the moving mechanism 108A moves the legged robot 100 by operating the actuator 108 in accordance with a movement command input via the transmission / reception unit 119A. For example, the moving mechanism 108A stops the legged robot 100 by stopping the actuator 108 in response to a stop command input via the transmission / reception unit 119A. More specifically, each actuator 108 (leg portion 103) is actuated based on the movement command “○ step forward, shoulder angle OO degrees” received from the server device 50, whereby the legged robot 100 is operated. Moving.

発信部114Aは、たとえば超音波発信タグ114によって実現される。発信部114Aは定期的に超音波を発信する。発信部114Aから発信された超音波は超音波受信機41にて受信される。ただし、発信部114Aは、電波を発信してもよい。   The transmitter 114A is realized by the ultrasonic transmission tag 114, for example. The transmitter 114A periodically transmits ultrasonic waves. The ultrasonic wave transmitted from the transmitter 114 </ b> A is received by the ultrasonic receiver 41. However, the transmitter 114A may transmit radio waves.

方位取得部104Aは、たとえば方位センサ104やセンサコントロールユニット121などによって実現される。方位取得部104Aは、脚式ロボット100の測定方向(測定向き)を取得して、当該測定向きを送受信部119Aを介してサーバ装置50に送信する。   The direction acquisition unit 104A is realized by the direction sensor 104, the sensor control unit 121, and the like, for example. The orientation acquisition unit 104A acquires the measurement direction (measurement direction) of the legged robot 100 and transmits the measurement direction to the server device 50 via the transmission / reception unit 119A.

距離取得部106Aは、たとえば脚式ロボット100周囲に設けられた複数の測距センサ106やセンサコントロールユニット121によって実現される。距離取得部106Aは、脚式ロボット100から障害物までの距離を測定して、当該測定距離を送受信部119Aを介してサーバ装置50へ送信する。ここで、障害物とは、たとえば壁やドアや家具などのように、家屋200内に配置されている様々なオブジェクトをいう。   The distance acquisition unit 106A is realized by a plurality of distance measuring sensors 106 and sensor control units 121 provided around the legged robot 100, for example. The distance acquisition unit 106A measures the distance from the legged robot 100 to the obstacle, and transmits the measurement distance to the server device 50 via the transmission / reception unit 119A. Here, the obstacle refers to various objects arranged in the house 200 such as a wall, a door, and furniture.

図6に示すように、サーバ装置50は、入力部53Aと、記憶部57Sと、第1の位置取得部55Bと、パーティクル取得部55Lと、設定部55Mと、計算部55Nと、経路生成部55Pと、命令生成部55Qと、送受信部59Aとを含む。   As illustrated in FIG. 6, the server device 50 includes an input unit 53A, a storage unit 57S, a first position acquisition unit 55B, a particle acquisition unit 55L, a setting unit 55M, a calculation unit 55N, and a path generation unit. 55P, a command generation unit 55Q, and a transmission / reception unit 59A.

図4および図6に示すように、入力部53Aは、キーボード53やマウス54や通信インターフェイス59などによって実現される。より詳細には、入力部53Aは、キーボード53やマウス54などを介して、直接ユーザからの動作命令を受け付ける。また、入力部53Aは、通信インターフェイス59を介して、LANやインターネットや外部の情報機器などを介して動作命令を受け付ける。   As shown in FIGS. 4 and 6, the input unit 53A is realized by a keyboard 53, a mouse 54, a communication interface 59, and the like. More specifically, the input unit 53A directly receives an operation command from the user via the keyboard 53, the mouse 54, and the like. Further, the input unit 53A receives an operation command via the communication interface 59 via a LAN, the Internet, an external information device, or the like.

記憶部57Sは、固定ディスク57やメモリ56によって実現される。記憶部57Sは、脚式ロボット100が移動するエリアに関する地図データ57Aや、パーティクルフィルタを用いて脚式ロボット100の現在地位や現在方向を計算するために必要な各種データを格納するパーティクルファイル57Bや、パーティクルフィルタを用いて計算された現在位置や現在方向を格納する現在情報ファイル57Cなどを記憶する。   The storage unit 57S is realized by the fixed disk 57 and the memory 56. The storage unit 57S includes map data 57A relating to an area where the legged robot 100 moves, a particle file 57B that stores various data necessary for calculating the current position and current direction of the legged robot 100 using a particle filter, A current information file 57C for storing the current position and current direction calculated using the particle filter is stored.

図7は、地図データ57Aの内容を示すイメージ図である。図7に示すように、地図データ57Aは、脚式ロボット100が移動する家屋200に配置されている壁や扉や家具などの障害物の存在位置(図7におけるハッチング部)を示す情報を有している。地図データ57Aは、たとえばテレビジョン装置やオーディオ機器などの存在位置なども示す。   FIG. 7 is an image diagram showing the contents of the map data 57A. As shown in FIG. 7, the map data 57 </ b> A has information indicating the positions (hatching portions in FIG. 7) of obstacles such as walls, doors, and furniture arranged in the house 200 where the legged robot 100 moves. is doing. The map data 57A also indicates the location of a television device or audio device, for example.

そして、地図データ57Aは、それぞれの障害物から所定距離以内の接触エリアを示す情報を格納している。接触エリアは、安全確保のためのエリアとして規定されている。すなわち、脚式ロボット100が接触エリアに侵入した場合には、脚式ロボット100が障害物に接触する虞がある。後述する経路生成部55Pは、地図データ57Aを参照して、脚式ロボット100が接触エリアに侵入することがないように、現在位置(スタート地点)から目的地点(ゴール地点)までの移動経路を生成する。   The map data 57A stores information indicating a contact area within a predetermined distance from each obstacle. The contact area is defined as an area for ensuring safety. That is, when the legged robot 100 enters the contact area, the legged robot 100 may come into contact with an obstacle. The route generation unit 55P, which will be described later, refers to the map data 57A to determine the movement route from the current position (start point) to the destination point (goal point) so that the legged robot 100 does not enter the contact area. Generate.

図8は、パーティクルファイル57Bのデータ構造を示すイメージ図である。図8に示すように、パーティクルファイル57Bは、パーティクル毎に、前回の現在位置のX座標X、前回の現在位置のY座標Y、前回の現在方向θ、所定の重みW(1をパーティクル数で除した数)を格納している。パーティクルファイル57Bは、パーティクル毎に、前回のX、Y、θのそれぞれにノイズを加えた仮想位置(X,Y)と仮想方向θとを格納する。 FIG. 8 is an image diagram showing the data structure of the particle file 57B. As shown in FIG. 8, the particle file 57B includes, for each particle, an X coordinate X 1 of the previous current position, a Y coordinate Y 1 of the previous current position, a previous current direction θ 1 , a predetermined weight W 1 (1 (Number divided by the number of particles)). The particle file 57B stores a virtual position (X 2 , Y 2 ) obtained by adding noise to each of the previous X 1 , Y 1 , and θ 1 and a virtual direction θ 2 for each particle.

パーティクルファイル57Bは、パーティクル毎に、超音波受信機41からの測定位置が考慮された、ガウス関数に基づいて計算されるXおよびYの観測確率PUSを格納する。ここで、観測確率PUSとは、脚式ロボット100がその現在位置にある場合に、その測定位置が観測される確率をいう。 The particle file 57B stores, for each particle, the observation probabilities P US of X 2 and Y 2 calculated based on a Gaussian function in consideration of the measurement position from the ultrasonic receiver 41. Here, the observation probability P US means the probability that the measurement position is observed when the legged robot 100 is at its current position.

同様に、パーティクルファイル57Bは、パーティクル毎に、脚式ロボット100からの測定方向が考慮された、ガウス関数に基づいて計算されるθの観測確率PCOMを格納する。 Similarly, the particle file 57B stores, for each particle, an observation probability P COM of θ 2 calculated based on a Gaussian function in consideration of the measurement direction from the legged robot 100.

同様にパーティクルファイル57Bは、パーティクル毎に、脚式ロボット100からの障害物までの測定距離が考慮された、ガウス関数に基づいて計算されるXやYの観測確率PDISを格納する。ここで、パーティクルファイル57Bは、パーティクル毎に、各種センサにて取得されるデータがセンサの許容範囲内である場合と許容範囲外である場合とでそれぞれ所定の確率POUTを格納する。 Similarly, the particle file 57B stores, for each particle, an observation probability P DIS of X 2 or Y 2 calculated based on a Gaussian function in consideration of a measurement distance from the legged robot 100 to the obstacle. Here, the particle file 57B stores, for each particle, predetermined probabilities P OUT when the data acquired by various sensors is within the allowable range of the sensor and when the data is outside the allowable range.

このように、パーティクルファイル57Bは、パーティクル毎に、かつセンサ毎に、このような観測確率を格納する。   Thus, the particle file 57B stores such observation probabilities for each particle and for each sensor.

そして、パーティクルファイル57Bは、全ての観測確率PUS、PCOM、PDIS、POUTを乗算した観測確率乗算値Evalを格納する。パーティクルファイル57Bは、パーティクルの観測確率乗算値Evalの合計が1となるように、パーティクルの観測確率乗算値Evalの各々を正規化したものを、各パーティクルの重みWとして格納する。 The particle file 57B stores an observation probability multiplication value Eval obtained by multiplying all the observation probabilities P US , P COM , P DIS , and P OUT . Particle file 57B, like the sum of the particles of the observation probability multiplied value Eval is 1, the each of the particles of the observation probability multiplication value Eval obtained by normalizing, and stores as the weight W 2 of each particle.

図9は、現在情報ファイル57Cのデータ構造を示すイメージ図である。図9に示すように、現在情報ファイル57Cは、各パーティクルの仮想位置のX座標Xを重みWによって加重平均した値を、脚式ロボット100の現在位置を示すX座標として格納する。現在情報ファイル57Cは、各パーティクルの仮想位置のY座標Yを重みWによって加重平均した値を、脚式ロボット100の現在位置を示すY座標として格納する。現在情報ファイル57Cは、各パーティクルのθを重みWによって加重平均した値を、脚式ロボット100の現在方向を示す値θとして格納する。 FIG. 9 is an image diagram showing the data structure of the current information file 57C. As illustrated in FIG. 9, the current information file 57 </ b > C stores a value obtained by weighted averaging the X coordinate X 2 of the virtual position of each particle with the weight W 2 as the X coordinate indicating the current position of the legged robot 100. The current information file 57 </ b > C stores a value obtained by weighted averaging the Y coordinate Y 2 of the virtual position of each particle with the weight W 2 as the Y coordinate indicating the current position of the legged robot 100. The current information file 57C stores a value obtained by weighting and averaging θ 2 of each particle with a weight W 2 as a value θ indicating the current direction of the legged robot 100.

図4と図6とを参照して、第1の位置取得部55Bと、パーティクル取得部55Lと、設定部55Mと、計算部55Nと、経路生成部55Pと、命令生成部55Qとは、CPU55が固定ディスク57などに予め格納されていたプログラムをメモリ56に読出して実行することで実現されるものである。すなわち、第1の位置取得部55Bと、パーティクル取得部55Lと、設定部55Mと、計算部55Nと、経路生成部55Pと、命令生成部55Qとは、サーバ装置50のCPU55が有する機能である。   4 and 6, the first position acquisition unit 55B, the particle acquisition unit 55L, the setting unit 55M, the calculation unit 55N, the path generation unit 55P, and the instruction generation unit 55Q are the CPU 55. Is realized by reading a program previously stored in the fixed disk 57 or the like into the memory 56 and executing it. That is, the first position acquisition unit 55B, the particle acquisition unit 55L, the setting unit 55M, the calculation unit 55N, the path generation unit 55P, and the instruction generation unit 55Q are functions that the CPU 55 of the server device 50 has. .

第1の位置取得部55Bは、超音波受信機41から受信した音波に関するデータに基づいて、脚式ロボット100の測定位置を計算する。ただし、脚式ロボット100が、電波を発信する構成とし、第1の位置取得部55Bが、図示しない電波受信機から受信した電波に関するデータに基づいて脚式ロボット100の測定位置を計算するものであってもよい。   The first position acquisition unit 55B calculates the measurement position of the legged robot 100 based on the data related to the sound wave received from the ultrasonic receiver 41. However, the legged robot 100 is configured to transmit radio waves, and the first position acquisition unit 55B calculates the measurement position of the legged robot 100 based on data related to radio waves received from a radio receiver (not shown). There may be.

パーティクル取得部55Lは、各々が脚式ロボット100の仮想位置および仮想方向を示す複数のパーティクルを取得する、あるいは新たに生成する。より詳細には、パーティクル取得部55Lは、前回の現在位置を計算した際のパーティクルのX座標XやY座標Yや方向θに今回の移動方向および歩数などに対応するノイズを加えることによって、パーティクルを更新する。この際、前回の現在位置を計算した際の重みWが、所定のしきい値未満であるパーティクルを削除して、新たなパーティクルを生成してもよい。新たなパーティクルの生成方法としては、前回の現在位置を計算した際の重みWが最も大きなパーティクルを2つに分割してもよい。 The particle acquisition unit 55L acquires or newly generates a plurality of particles each indicating the virtual position and virtual direction of the legged robot 100. More particularly, the particles obtaining unit 55L may be added noise corresponding like this moving direction and number of steps to the X coordinate X 2 and Y-coordinate Y 2 and directions theta 2 of the particle when calculating the current position of the previous To update the particles. At this time, the weight W 2 when calculating the current position of the last, remove the particle is less than a predetermined threshold value, may generate a new particle. As a method of generating a new particle, the weight W 2 when calculating the current position of the last may be divided largest particles into two.

設定部55Mは、測定位置と測定距離と地図データ57Aと測定方向とに基づいて、パーティクルの各々に重みWを設定する。 Setting unit 55M is based on the measurement position and the measured distance and the map data 57A and the measurement direction, it sets the weight W 2 to each of the particles.

より詳細には、設定部55Mは、超音波受信機41からの測定位置を参照しながら、ガウス関数に基づいて計算されるXおよびYの観測確率PUSを計算する。ここで、観測確率PUSとは、脚式ロボット100がその現在位置にある場合に、その測定位置が観測される確率をいう。同様に、設定部55Mは、パーティクル毎に、脚式ロボット100からの測定方向を参照しながら、ガウス関数に基づいて計算されるθの観測確率PCOMを計算する。同様に、設定部55Mは、パーティクル毎に、脚式ロボット100からの障害物までの測定距離を参照しながら、ガウス関数に基づいて計算されるXやYの観測確率PDISを計算する。ここで、設定部55Mは、パーティクル毎に、各種センサにて取得されるデータがセンサの許容範囲内である場合と許容範囲外である場合とでそれぞれ所定の確率POUTを計算する。このように、設定部55Mは、パーティクル毎に、かつセンサ毎に、このような観測確率を計算する。 More specifically, the setting unit 55M calculates the observation probabilities P US of X 2 and Y 2 calculated based on the Gaussian function while referring to the measurement position from the ultrasonic receiver 41. Here, the observation probability P US means the probability that the measurement position is observed when the legged robot 100 is at its current position. Similarly, the setting unit 55M calculates, for each particle, the observation probability P COM of θ 2 calculated based on the Gaussian function while referring to the measurement direction from the legged robot 100. Similarly, the setting unit 55M calculates, for each particle, the observation probability P DIS of X 1 and Y 2 calculated based on the Gaussian function while referring to the measurement distance from the legged robot 100 to the obstacle. . Here, the setting unit 55M calculates, for each particle, predetermined probabilities P OUT when the data acquired by the various sensors is within the allowable range of the sensor and when the data is outside the allowable range. Thus, the setting unit 55M calculates such an observation probability for each particle and for each sensor.

計算部55Nは、それぞれのパーティクルの仮想位置(X,Y)と重みWとに基づいて脚式ロボット100の現在位置(X,Y)を計算する。すなわち、計算部55Nは、それぞれのパーティクルの仮想位置(X,Y)を対応する重みWに基づいて加重平均することによって、脚式ロボット100の現在位置(X,Y)を計算する。 The calculation unit 55N calculates the current position (X, Y) of the legged robot 100 based on the virtual position (X 2 , Y 2 ) and the weight W 2 of each particle. That is, the calculation unit 55N calculates the current position (X, Y) of the legged robot 100 by performing a weighted average of the virtual positions (X 2 , Y 2 ) of the respective particles based on the corresponding weights W 2. .

計算部55Nは、それぞれのパーティクルの仮想方向θと重みWとに基づいて脚式ロボット100の現在方向θを計算する。すなわち、計算部55Nは、それぞれのパーティクルの仮想方向θを対応する重みWに基づいて加重平均することによって、脚式ロボット100の現在方向θを計算する。 Calculation unit 55N is currently calculating directional theta legged robot 100 based on the virtual direction theta 2 of each particle and the weight W 2. That is, the calculation unit 55N calculates the current direction θ of the legged robot 100 by performing a weighted average on the virtual direction θ 2 of each particle based on the corresponding weight W 2 .

このようにして、パーティクル取得部55Lと、設定部55Mと、計算部55Nとは、第2の位置取得部を構成する。第2の位置取得部は、パーティクルフィルタを用いることによって、前回の現在位置と測定位置と測定方向と測定距離と地図データとに基づいて、脚式ロボット100の現在位置を計算する。すなわち、第2の位置取得部は、前回の現在位置と測定方向と測定距離と地図データ57Aとに基づいて、超音波受信機41から受信したデータから得られた測定位置を補正することによって、測定位置よりも正確な現在位置を取得する。   In this manner, the particle acquisition unit 55L, the setting unit 55M, and the calculation unit 55N constitute a second position acquisition unit. The second position acquisition unit uses the particle filter to calculate the current position of the legged robot 100 based on the previous current position, measurement position, measurement direction, measurement distance, and map data. That is, the second position acquisition unit corrects the measurement position obtained from the data received from the ultrasonic receiver 41 based on the previous current position, measurement direction, measurement distance, and map data 57A. Get the current position more accurate than the measurement position.

経路生成部55Pは、地図データ57Aを参照して、各種アルゴリズムに沿って現在位置と目的地点とに基づき脚式ロボット100の移動経路を生成する。より詳細には、経路生成部55Pは、現在位置から目的地点との間に、複数の副目的地点(以下サブゴールと呼ぶ)を設定する。サブゴールは、脚式ロボット100が1つの回転動作および前進動作によって到達できるポイントに相当する。   The route generation unit 55P refers to the map data 57A and generates a movement route of the legged robot 100 based on the current position and the destination point according to various algorithms. More specifically, the route generation unit 55P sets a plurality of sub destination points (hereinafter referred to as sub goals) between the current position and the destination point. The subgoal corresponds to a point that the legged robot 100 can reach by one rotational motion and forward motion.

経路生成部55Pと命令生成部55Qによる脚式ロボット100のナビゲーションの目的は、脚式ロボット100を現在の位置からユーザによって指定された目的地点へと移動させることである。目的地点が現在位置から離れている場合、ロボットは1つの移動動作では目的地点に到着することができない可能性が高く、目的地点へ到着するためにはいくつかの動作ステップを組み合わせたアルゴリズムが必要となる。この機能は、通常2つの段階を経て実行される。まず、ナビゲーションの第1の段階として、経路生成部55Pは、現在の位置から目的地点までの経路を生成する。より詳細には、経路生成部55Pは、目的地点への経路を生成し、目的地点へ到着するために脚式ロボット100が通過すべき連続したサブゴールのリストを生成する。   The purpose of navigation of the legged robot 100 by the route generating unit 55P and the command generating unit 55Q is to move the legged robot 100 from the current position to a destination point designated by the user. If the destination is far from the current location, the robot is unlikely to be able to reach the destination with a single movement, and an algorithm combining several motion steps is required to arrive at the destination. It becomes. This function is usually performed in two stages. First, as a first stage of navigation, the route generation unit 55P generates a route from the current position to the destination point. More specifically, the route generation unit 55P generates a route to the destination point, and generates a list of continuous subgoals that the legged robot 100 should pass to arrive at the destination point.

命令生成部55Qは、移動経路と現在位置とに基づいて移動命令を生成する。たとえば、命令生成部55Qは、移動経路と現在位置とに基づいて、「肩を○度開く」旨の要求や「○歩前進する」旨の要求を生成し、当該要求を送受信部59Aを介して脚式ロボット100に送信する。命令生成部55Qは、脚式ロボット100がサブゴールを順番に通過するように動作命令を生成する。以下では、命令生成部55Qにおける、脚式ロボット100に対する動作命令を生成する機能について詳述する。   The command generation unit 55Q generates a movement command based on the movement route and the current position. For example, the command generation unit 55Q generates a request to “open shoulder” and a request to “go forward” based on the movement route and the current position, and sends the request via the transmission / reception unit 59A. To the legged robot 100. The command generation unit 55Q generates an operation command so that the legged robot 100 passes through the subgoals in order. Hereinafter, the function of generating an operation command for the legged robot 100 in the command generation unit 55Q will be described in detail.

すなわち、ナビゲーションの第2の段階として、命令生成部55Qは、経路計画の最初のサブゴールに達するために行なうべきアクションを決定する。サブゴールに到達したとき、脚式ロボット100は最終目的地点に到達するまで、次のサブゴールに対して同じ処理を繰り返す。目的地点へ移動する間に、脚式ロボット100の現在位置は予定された位置とは異なってゆく可能性がある。あるいは、ロボットが移動する経路上に障害物が現れる可能性もある。その場合、ロボットは目的地点への新しい経路を計画し直さなければならない。   That is, as the second stage of navigation, the command generation unit 55Q determines an action to be performed to reach the first subgoal of the route plan. When the subgoal is reached, the legged robot 100 repeats the same process for the next subgoal until it reaches the final destination point. While moving to the destination point, the current position of the legged robot 100 may be different from the planned position. Alternatively, an obstacle may appear on the path along which the robot moves. In that case, the robot must re-plan a new route to the destination.

ここで、命令生成部55Qは、目的地点に近づくために以下の4つの動作パターンを使用する。すなわち、命令生成部55Qは、(1)各ステップの直進前進移動、(2)各ステップの右カーブ前進移動、(3)各ステップの左カーブ前進移動、(4)各ステップの回転運動のうちから、最も動作効率が良い動作パターンを選択する。動作効率が良い動作パターンとは、脚式ロボット100が次のサブゴールに到着するまで必要とする動作ステップ数などが少ないものをいう。すなわち、命令生成部55Qは、右カーブ前進するか、右旋回したのちに直進するか、いずれが脚式ロボット100にとって効率的な動作となるかを判断した上で、移動方向(肩の開き具合)や歩数などを決定する。   Here, the instruction generation unit 55Q uses the following four operation patterns to approach the destination point. That is, the command generation unit 55Q includes (1) straight forward movement of each step, (2) right curve forward movement of each step, (3) left curve forward movement of each step, and (4) rotational movement of each step. Therefore, the operation pattern with the highest operation efficiency is selected. An operation pattern with good operation efficiency refers to an operation pattern that requires few operation steps until the legged robot 100 arrives at the next subgoal. In other words, the command generation unit 55Q determines which of the movements (opening of the shoulders) is performed after determining which of the right-turn forward and the right-turn and then the straight-forward movement is effective for the legged robot 100. Condition) and the number of steps.

送受信部59Aは、通信インターフェイス59などによって実現される。送受信部59Aは、LANを介して脚式ロボット100から、測定距離や測定方向などに関するデータを受信して、当該データを設定部55Mに渡す。   The transmission / reception unit 59A is realized by the communication interface 59 or the like. The transmission / reception unit 59A receives data on the measurement distance, the measurement direction, and the like from the legged robot 100 via the LAN, and passes the data to the setting unit 55M.

一般的に、脚式ロボット100を目的地点まで移動させるためには、動的重心の軌道に基づいて足裏の着地位置を一歩ごとに計画し、関節を制御することによって精度よく着地させる方法が用いられている。しかしながら、この場合には、精密なハードウェア構成と高度な運動制御手法が必要となる(たとえば、特開2008−49458号公報、特開2004−209562号公報など)。   In general, in order to move the legged robot 100 to the destination, there is a method in which the landing position of the sole is planned step by step based on the trajectory of the dynamic center of gravity, and the landing is accurately performed by controlling the joint. It is used. However, in this case, a precise hardware configuration and an advanced motion control method are required (for example, JP 2008-49458 A and JP 2004-209562 A).

本実施の形態に係る脚式ロボットの制御システム1は、このような問題点を解消したものであって、シンプルなハードウェアおよびソフトウェア構成でありながら、脚式ロボット100が目的地点まで移動することが可能なものである。より詳細には、本実施の形態に係る脚式ロボットの制御システム1においては、動的重心軌道に基づいた足裏の着地位置計画を行わない。また、本実施の形態に係る脚式ロボットの制御システム1は、目的地点までの経路を生成するとともにサブゴールを設定し、至近のサブゴールに一定の尤度内で到達できるよう経路追従を行う。また、本実施の形態に係る脚式ロボットの制御システム1は、直進、旋回、円弧の3種類の動作を、歩数単位で実行できる機能を有しており、現在位置と計画した移動経路上のサブゴールとの位置関係に基づいて最適な動作(移動方向や歩数など)を決定するものである。加えて、本実施の形態に係る脚式ロボットの制御システム1は、上記の動作をサブゴール毎に連続して実行することにより、滑らかで精度の高い目的地点までの移動が可能である。   The legged robot control system 1 according to the present embodiment eliminates such problems, and allows the legged robot 100 to move to the destination while having a simple hardware and software configuration. Is possible. More specifically, in the legged robot control system 1 according to the present embodiment, the landing position plan of the sole based on the dynamic center of gravity trajectory is not performed. In addition, the legged robot control system 1 according to the present embodiment generates a route to the destination point, sets a subgoal, and follows the route so that the closest subgoal can be reached within a certain likelihood. Further, the legged robot control system 1 according to the present embodiment has a function capable of executing three types of operations of straight movement, turning, and circular arc in units of steps, and the current position and the planned movement route Based on the positional relationship with the subgoal, the optimum operation (movement direction, number of steps, etc.) is determined. In addition, the legged robot control system 1 according to the present embodiment can smoothly move to a destination point with high accuracy by executing the above-described operation continuously for each subgoal.

つまり、本実施の形態に係る脚式ロボットの制御システム1は、足先の着地位置の計画が不要であり、自己位置が目的地点から外れた場合であってもそれを許容することができるとともに、脚式ロボット100が目的地点まで精度よく移動することができる。   That is, the control system 1 for the legged robot according to the present embodiment does not require the planning of the landing position of the toe, and can tolerate it even when the self position deviates from the destination point. The legged robot 100 can accurately move to the destination point.

<現在位置取得処理>
図10は、サーバ装置50における現在位置取得処理の処理手順を示すフローチャートである。図10に示すように、まず、CPU55は、脚式ロボット100から脚式ロボット100が移動した旨のデータを受信したか否かを判断する(ステップS102)。脚式ロボット100から移動した旨のデータを受信した場合(ステップS102にてYESの場合)、CPU55は、前回の現在位置が記憶部57S(パーティクルファイル57Bあるいは現在情報ファイル57C)に格納されているか否か、すなわち当該移動前に現在位置(X,Y)が計算されているか否かを判断する(ステップS106)。
<Current position acquisition processing>
FIG. 10 is a flowchart illustrating a processing procedure of the current position acquisition process in the server device 50. As shown in FIG. 10, first, the CPU 55 determines whether data indicating that the legged robot 100 has moved from the legged robot 100 has been received (step S102). When data indicating that the robot has moved from the legged robot 100 is received (YES in step S102), the CPU 55 determines whether the previous current position is stored in the storage unit 57S (particle file 57B or current information file 57C). whether, i.e. the current position before the mobile (X 1, Y 1) to determine whether it is calculated (step S106).

一方、サーバ装置50が脚式ロボット100から移動した旨のデータを受信しない場合(ステップS102にてNOの場合)、CPU55は、前回の現在位置を取得したときから所定時間が経過したか否かを判断する(ステップS104)。前回の現在位置を取得したときから未だ所定時間が経過していない場合(ステップS104にてNOの場合)、CPU55はステップS102からの処理を繰り返す。一方、前回の現在位置を取得してから所定時間が経過している場合(ステップS104にてYESの場合)、CPU55はステップS106からの処理を実行する。   On the other hand, when data indicating that the server device 50 has moved from the legged robot 100 is not received (NO in step S102), the CPU 55 determines whether or not a predetermined time has elapsed since the previous current position was acquired. Is determined (step S104). If the predetermined time has not yet elapsed since the previous current position was acquired (NO in step S104), CPU 55 repeats the processing from step S102. On the other hand, when a predetermined time has elapsed since the previous current position was acquired (YES in step S104), CPU 55 executes the processing from step S106.

前回の現在位置が記憶部57Sに格納されている場合(ステップS106にてYESの場合)、CPU55は、パーティクルのリサンプリングを行う(ステップS108)。すなわち、CPU55は、パーティクルファイル57Bに格納されている各パーティクルのX座標X、Y座標Y、角度(方向)θにノイズを付与し、ノイズが付与されたデータX、Y、θをパーティクルファイル57Bに格納する。 If the previous current position is stored in storage unit 57S (YES in step S106), CPU 55 performs resampling of particles (step S108). That is, the CPU 55 adds noise to the X coordinate X 1 , Y coordinate Y 1 , and angle (direction) θ 1 of each particle stored in the particle file 57B, and the data X 2 , Y 2 , storing theta 2 to the particle file 57B.

そして、CPU55は、各種センサから取得されるデータ、たとえば、超音波受信機41から得られる測定位置や、ジャイロセンサ109から得られる測定方向、測距センサ106から得られる測定距離などに基づいて、各パーティクルの測定確率(発生確率)を計算することによって、各パーティクルに重み付けを行う(ステップS200)。重み付け処理(ステップS200)については後述する。   And CPU55 is based on the data acquired from various sensors, for example, the measurement position obtained from the ultrasonic receiver 41, the measurement direction obtained from the gyro sensor 109, the measurement distance obtained from the ranging sensor 106, etc. Each particle is weighted by calculating the measurement probability (occurrence probability) of each particle (step S200). The weighting process (step S200) will be described later.

CPU55は、各パーティクルのノイズ付与後のX座標X、Y座標Y、角度θに重みWを乗じることによって、X座標、Y座標、角度θの荷重平均値(X,Y,θ)を求める(ステップS112)。 The CPU 55 multiplies the X-coordinate X 2 , Y-coordinate Y 2 , and angle θ 2 after applying noise to each particle by the weight W 2, thereby obtaining a load average value (X, Y, θ of the X-coordinate, Y-coordinate, and angle θ). ) Is obtained (step S112).

一方、前回の現在位置が記憶部57Sに格納されていない場合(ステップS106にてNOの場合)、CPU55は、超音波受信機41からのデータに基づいて、脚式ロボット100の測定位置を取得する(ステップS114)。そして、CPU55は、測定位置を取得できた場合(ステップS116にてYESである場合)にはステップS108からの処理を実行し、測定位置が取得できない場合(ステップS116にてNOである場合)にはステップS102からの処理を実行する。   On the other hand, when the previous current position is not stored in the storage unit 57S (NO in step S106), the CPU 55 acquires the measurement position of the legged robot 100 based on the data from the ultrasonic receiver 41. (Step S114). And CPU55 performs the process from step S108, when a measurement position can be acquired (when it is YES in step S116), and when a measurement position cannot be acquired (when it is NO in step S116). Executes the processing from step S102.

<重み付け処理>
図11は、サーバ装置50における重み付け処理の処理手順を示すフローチャートである。図11に示すように、ここでは、M個のセンサを用いるとともに、N個のパーティクルを利用することによって、現在位置と現在方向とを取得する場合について説明する。
<Weighting process>
FIG. 11 is a flowchart showing the processing procedure of the weighting process in the server device 50. As shown in FIG. 11, here, a case where the current position and the current direction are acquired by using M sensors and using N particles will be described.

まず、CPU55は、1つ目のパーティクルについて、1つ目のセンサで得られたデータに基づいて(ステップS202)、観測確率を計算する(ステップS204〜S206)。より詳細には、CPU55は、たえば測距センサ106からの測定距離などを示すデータを取得して(ステップS204)、対象パーティクルのX座標とY座標と地図データとから、現在位置が対象パーティクルの座標に一致する場合に測定距離が測定される確率を計算する(ステップS206)。   First, the CPU 55 calculates an observation probability for the first particle based on the data obtained by the first sensor (step S202) (steps S204 to S206). More specifically, for example, the CPU 55 acquires data indicating a measurement distance from the distance measuring sensor 106 (step S204), and the current position is determined from the X and Y coordinates of the target particle and the map data. The probability that the measurement distance is measured when the coordinates coincide with each other is calculated (step S206).

CPU55は、次のセンサについての処理に進み(ステップS208)、次のセンサがある場合(ステップS210にてNOである場合)、ステップS204からの処理を繰り返す。一方、CPU55は、各パーティクルについて次のセンサがない場合(ステップS210にてYESの場合)、各パーティクルに係る観測確率を全て乗算することによって当該パーティクルに係る観測確率を計算する(ステップS212)。   The CPU 55 proceeds to the process for the next sensor (step S208). If there is a next sensor (NO in step S210), the process from step S204 is repeated. On the other hand, if there is no next sensor for each particle (YES in step S210), CPU 55 calculates the observation probability for the particle by multiplying all the observation probabilities for each particle (step S212).

CPU55は、次のパーティクルについての処理に進み(ステップS214)、次のパーティクルがある場合(ステップS216にてNOである場合)、ステップS204からの処理を繰り返す。一方、CPU55は、次のパーティクルがない場合(ステップS216にてYESである場合)、それぞれのパーティクルに係る観測確率の合計が「1」となるように、それぞれのパーティクルに係る観測確率を正規化する(ステップS218)。   The CPU 55 proceeds to the process for the next particle (step S214). If there is a next particle (NO in step S216), the process from step S204 is repeated. On the other hand, if there is no next particle (YES in step S216), CPU 55 normalizes the observation probability related to each particle so that the total observation probability related to each particle becomes “1”. (Step S218).

[その他の実施の形態]
本発明に係るプログラムは、コンピュータのオペレーティングシステム(OS)の一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の配列で所定のタイミングで呼出して処理を実行させるものであってもよい。その場合、プログラム自体には上記モジュールが含まれずOSと協働して処理が実行される。このようなモジュールを含まないプログラムも、本発明にかかるプログラムに含まれ得る。
[Other embodiments]
The program according to the present invention may be a program module that is provided as a part of a computer operating system (OS) and that calls necessary modules in a predetermined arrangement at a predetermined timing to execute processing. . In that case, the program itself does not include the module, and the process is executed in cooperation with the OS. A program that does not include such a module can also be included in the program according to the present invention.

また、本発明にかかるプログラムは他のプログラムの一部に組込まれて提供されるものであってもよい。その場合にも、プログラム自体には上記他のプログラムに含まれるモジュールが含まれず、他のプログラムと協働して処理が実行される。このような他のプログラムに組込まれたプログラムも、本発明にかかるプログラムに含まれ得る。   The program according to the present invention may be provided by being incorporated in a part of another program. Even in this case, the program itself does not include the module included in the other program, and the process is executed in cooperation with the other program. Such a program incorporated in another program can also be included in the program according to the present invention.

提供されるプログラム製品は、ハードディスクなどのプログラム格納部にインストールされて実行される。なお、プログラム製品は、プログラム自体と、プログラムが記憶された記憶媒体とを含む。   The provided program product is installed in a program storage unit such as a hard disk and executed. Note that the program product includes the program itself and a storage medium in which the program is stored.

さらに、本発明に係るプログラムによって実現される機能の一部または全部を専用のハードウェアによって構成してもよい。   Furthermore, part or all of the functions realized by the program according to the present invention may be configured by dedicated hardware.

今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。   The embodiment disclosed this time should be considered as illustrative in all points and not restrictive. The scope of the present invention is defined by the terms of the claims, rather than the description above, and is intended to include any modifications within the scope and meaning equivalent to the terms of the claims.

この発明の実施の形態に従う脚式ロボットの制御システムの概略構成図である。1 is a schematic configuration diagram of a control system for a legged robot according to an embodiment of the present invention. この発明の実施の形態に従う脚式ロボットの制御システムにおける動作概要を示すシーケンス図である。It is a sequence diagram which shows the operation | movement outline | summary in the control system of the legged robot according to embodiment of this invention. この発明の実施の形態に従う脚式ロボットの制御システムのハードウェア構成を示す模式図である。It is a schematic diagram which shows the hardware constitutions of the control system of the legged robot according to embodiment of this invention. この発明の実施の形態に従うサーバ装置のハードウェア構成を示す模式図である。It is a schematic diagram which shows the hardware constitutions of the server apparatus according to embodiment of this invention. この発明の実施の形態に従うサーバ装置における機能構成を示すブロック図である。It is a block diagram which shows the function structure in the server apparatus according to embodiment of this invention. この発明の実施の形態に従う脚式ロボットの制御システムにおける機能構成を示すブロック図である。It is a block diagram which shows the function structure in the control system of the legged robot according to embodiment of this invention. 地図データの内容を示すイメージ図である。It is an image figure which shows the content of map data. パーティクルファイルのデータ構造を示すイメージ図である。It is an image figure which shows the data structure of a particle file. 現在情報ファイルのデータ構造を示すイメージ図である。It is an image figure which shows the data structure of a present information file. サーバ装置における現在位置取得処理の処理手順を示すフローチャートである。It is a flowchart which shows the process sequence of the present position acquisition process in a server apparatus. サーバ装置における重み付け処理の処理手順を示すフローチャートである。It is a flowchart which shows the process sequence of the weighting process in a server apparatus.

符号の説明Explanation of symbols

1 制御システム、20 マイクアレイ用環境サーバ、21 外部マイクロフォンアレイ、30 セキュリティサーバ、31 セキュリティセンサ、40 超音波用環境サーバ、41 超音波受信機、49 アクセスポイント、50 サーバ装置、52 ディスプレイ部、53 キーボード、53A 入力部、54 マウス、55A メイン処理部、55B 位置取得部、55C 経路追従部、55D セキュリティ部、55E 音声認識部、55F 人検知部、55G 顔認識部、55H 音声受信部、55J コマンド受信部、55K 方位データ受信部、55L パーティクル取得部、55M 設定部、55N 計算部、55P 経路生成部、55Q 命令生成部、56 メモリ、57 固定ディスク、57A 地図データ、57B パーティクルファイル、57C 現在情報ファイル、57S 記憶部、58 内部バス、59 通信インターフェイス、59A 送受信部、65 表示部インターフェイス、100 脚式ロボット、101 頭部、102 胴部、103 脚部、104 方位センサ、104A 方位取得部、105 人感センサ、106 測距センサ、106A 距離取得部、107 モータコントロールボード、108 アクチュエータ、108A 移動機構、109 ジャイロセンサ、109 1軸ジャイロセンサ、110 3軸加速度センサ、111 バッテリ電源、112 バッテリ電源、113 画像送信ユニット、114 超音波発信タグ、114A 発信部、115 カメラ、116 スピーカ、117 マイク、118 LAN用ハブ、119 無線LAN子機、119A 送受信部、121 センサコントロールユニット、200 家屋。   DESCRIPTION OF SYMBOLS 1 Control system, 20 Microphone array environment server, 21 External microphone array, 30 Security server, 31 Security sensor, 40 Ultrasonic environment server, 41 Ultrasonic receiver, 49 Access point, 50 Server apparatus, 52 Display part, 53 Keyboard, 53A input unit, 54 mouse, 55A main processing unit, 55B position acquisition unit, 55C route tracking unit, 55D security unit, 55E voice recognition unit, 55F human detection unit, 55G face recognition unit, 55H voice reception unit, 55J command Receiving unit, 55K orientation data receiving unit, 55L particle acquisition unit, 55M setting unit, 55N calculation unit, 55P route generation unit, 55Q command generation unit, 56 memory, 57 fixed disk, 57A map data, 57B particle file, 57C current information file, 57S storage unit, 58 internal bus, 59 communication interface, 59A transmission / reception unit, 65 display unit interface, 100 legged robot, 101 head, 102 torso, 103 leg, 104 orientation sensor, 104A orientation acquisition , 105 Human sensor, 106 Distance sensor, 106A Distance acquisition unit, 107 Motor control board, 108 Actuator, 108A Moving mechanism, 109 Gyro sensor, 109 1 axis gyro sensor, 110 3 axis acceleration sensor, 111 Battery power supply, 112 Battery power source, 113 image transmission unit, 114 ultrasonic transmission tag, 114A transmission unit, 115 camera, 116 speaker, 117 microphone, 118 LAN hub, 119 wireless LAN slave unit, 119A transmission / reception unit, 1 21 Sensor control unit, 200 house.

Claims (7)

移動体の動作を制御するための移動体制御システムであって、
前記移動体は、
前記移動体を移動させる移動機構と、
前記移動体の測定向きを取得する方位取得手段と、
音波および電波の少なくともいずれかを発信する発信手段と、
前記移動体周辺の障害物までの測定距離を取得する距離取得手段とを含み、
前記障害物の位置を示す地図データを格納する記憶手段と、
前記音波および電波の少なくともいずれかに基づいて、前記移動体の測定位置を計算する第1の位置取得手段と、
前記測定位置と前記測定向きと前記測定距離と前記地図データとに基づいて、前記移動体の現在位置を計算する第2の位置取得手段とを備える、移動体制御システム。
A moving body control system for controlling the operation of a moving body,
The moving body is
A moving mechanism for moving the moving body;
Orientation acquisition means for acquiring the measurement direction of the moving body;
A transmission means for transmitting at least one of a sound wave and a radio wave;
A distance acquisition means for acquiring a measurement distance to an obstacle around the moving body,
Storage means for storing map data indicating the position of the obstacle;
First position acquisition means for calculating a measurement position of the moving body based on at least one of the sound wave and radio wave;
A moving body control system comprising: a second position acquisition unit that calculates a current position of the moving body based on the measurement position, the measurement direction, the measurement distance, and the map data.
前記第2の位置取得手段は、
パーティクルフィルタを用いることによって、前回の現在位置にさらに基づいて、前記移動体の現在位置を計算する、請求項1に記載の移動体制御システム。
The second position acquisition means includes
The moving body control system according to claim 1, wherein a current position of the moving body is calculated based on a previous current position by using a particle filter.
前記第2の位置取得手段は、
前記移動体の仮想位置を示す複数のパーティクルを取得するパーティクル取得手段と、
前記測定位置と前記測定距離と前記地図データとに基づいて、前記パーティクルの各々に重みを設定する設定手段と、
それぞれの前記パーティクルの前記仮想位置と前記重みとに基づいて、前記移動体の現在位置を計算する計算手段とを含む、請求項2に記載の移動体制御システム。
The second position acquisition means includes
Particle acquisition means for acquiring a plurality of particles indicating the virtual position of the moving body;
Setting means for setting a weight for each of the particles based on the measurement position, the measurement distance, and the map data;
The moving body control system according to claim 2, further comprising calculation means for calculating a current position of the moving body based on the virtual position and the weight of each of the particles.
前記第2の位置取得手段は、
前記移動体の仮想位置および仮想向きを示す複数のパーティクルを取得するパーティクル取得手段と、
前記測定位置と前記測定距離と前記地図データと前記測定向きとに基づいて、各前記パーティクルに重みを設定する設定手段と、
それぞれの前記パーティクルの前記仮想位置と前記重みとに基づいて前記移動体の現在位置を計算し、それぞれの前記パーティクルの前記仮想向きと前記重みとに基づいて前記移動体の現在向きを計算する計算手段とを含む、請求項2に記載の移動体制御システム。
The second position acquisition means includes
Particle acquisition means for acquiring a plurality of particles indicating the virtual position and virtual orientation of the moving body;
Setting means for setting a weight for each particle based on the measurement position, the measurement distance, the map data, and the measurement direction;
Calculation for calculating the current position of the moving object based on the virtual position and the weight of each particle, and calculating the current direction of the moving object based on the virtual direction and the weight of each particle The mobile body control system according to claim 2, comprising: means.
目的地点を受け付ける手段と、
前記地図データを参照して、前記現在位置と前記目的地点とに基づき前記移動体の移動経路を生成する経路生成手段と、
前記移動経路と前記現在位置とに基づいて、移動方向および歩数を含む動作命令を生成する動作命令生成手段とをさらに備え、
前記移動機構は、前記動作命令に基づいて前記移動体を移動させることによって、移動体を前記移動経路に追従させる、請求項1から4のいずれか1項に記載の移動体制御システム。
Means for receiving the destination point;
Referring to the map data, route generating means for generating a moving route of the moving body based on the current position and the destination point;
An operation command generating means for generating an operation command including a moving direction and the number of steps based on the moving route and the current position;
5. The moving body control system according to claim 1, wherein the moving mechanism causes the moving body to follow the moving path by moving the moving body based on the operation command. 6.
前記移動体は、脚式ロボットであって、
前記移動機構は、歩行可能な複数の脚部を含む、請求項1から5のいずれか1項に記載の移動体制御システム。
The moving body is a legged robot,
The said moving mechanism is a moving body control system of any one of Claim 1 to 5 containing the several leg part which can be walked.
移動体に接続可能なサーバにおいて前記移動体の動作を制御するための移動体制御方法であって、
前記移動体は、
前記移動体を移動させる移動機構と、
前記移動体の測定向きを取得する方位取得手段と、
音波および電波の少なくともいずれかを発信する発信手段と、
前記移動体周辺の障害物までの測定距離を取得する距離取得手段とを含み、
前記サーバ装置は、
前記障害物の位置を示す地図データを格納する記憶部と、
演算処理部とを含み、
前記移動体制御方法は、
前記演算処理部が、前記音波および電波の少なくともいずれかに基づいて、前記移動体の測定位置を取得するステップと、
前記演算処理部が、前記測定位置と前記測定向きと前記測定距離と前記地図データとに基づいて、前記移動体の現在位置を計算するステップと、
前記演算処理部が、目的地点を受け付けるステップと、
前記演算処理部が、前記地図データを参照して、前記現在位置と前記目的地点とに基づき前記移動体の移動経路を生成するステップと、
前記演算処理部が、前記移動経路と前記現在位置とに基づいて、移動方向および歩数を含む動作命令を生成するステップと、
前記移動機構が、前記動作命令に基づいて前記移動体を移動させることによって、前記移動体を前記移動経路に追従させるステップとを備える、移動体制御方法。
A mobile control method for controlling the operation of the mobile body in a server connectable to the mobile body,
The moving body is
A moving mechanism for moving the moving body;
Orientation acquisition means for acquiring the measurement direction of the moving body;
A transmission means for transmitting at least one of a sound wave and a radio wave;
A distance acquisition means for acquiring a measurement distance to an obstacle around the moving body,
The server device
A storage unit for storing map data indicating the position of the obstacle;
Including an arithmetic processing unit,
The moving body control method includes:
The arithmetic processing unit acquiring a measurement position of the moving body based on at least one of the sound wave and radio wave;
The arithmetic processing unit calculates a current position of the moving body based on the measurement position, the measurement direction, the measurement distance, and the map data;
The arithmetic processing unit accepting a destination point;
The arithmetic processing unit refers to the map data and generates a moving route of the moving body based on the current position and the destination point;
The arithmetic processing unit generates an operation command including a moving direction and the number of steps based on the moving route and the current position;
The moving mechanism includes a step of causing the moving body to follow the moving path by moving the moving body based on the operation command.
JP2008168860A 2008-06-27 2008-06-27 Traveling object control system and traveling object control method Withdrawn JP2010009370A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008168860A JP2010009370A (en) 2008-06-27 2008-06-27 Traveling object control system and traveling object control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008168860A JP2010009370A (en) 2008-06-27 2008-06-27 Traveling object control system and traveling object control method

Publications (1)

Publication Number Publication Date
JP2010009370A true JP2010009370A (en) 2010-01-14

Family

ID=41589777

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008168860A Withdrawn JP2010009370A (en) 2008-06-27 2008-06-27 Traveling object control system and traveling object control method

Country Status (1)

Country Link
JP (1) JP2010009370A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012035707A1 (en) * 2010-09-17 2012-03-22 国立大学法人東京工業大学 Map generation device, map generation method, method for moving mobile body, and robot device
JP2016520944A (en) * 2013-06-03 2016-07-14 コントロールワークス プライベート リミテッド Method and apparatus for off-board navigation of robotic devices

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012035707A1 (en) * 2010-09-17 2012-03-22 国立大学法人東京工業大学 Map generation device, map generation method, method for moving mobile body, and robot device
US9224043B2 (en) 2010-09-17 2015-12-29 Tokyo Institute Of Technology Map generation apparatus, map generation method, moving method for moving body, and robot apparatus
JP2016520944A (en) * 2013-06-03 2016-07-14 コントロールワークス プライベート リミテッド Method and apparatus for off-board navigation of robotic devices

Similar Documents

Publication Publication Date Title
JP4516592B2 (en) Mobile robot
CN109813319B (en) Open loop optimization method and system based on SLAM (Simultaneous localization and mapping) mapping
JP3945279B2 (en) Obstacle recognition apparatus, obstacle recognition method, obstacle recognition program, and mobile robot apparatus
Chen Kalman filter for robot vision: a survey
JP3994950B2 (en) Environment recognition apparatus and method, path planning apparatus and method, and robot apparatus
TWI827649B (en) Apparatuses, systems and methods for vslam scale estimation
WO2004052597A1 (en) Robot control device, robot control method, and robot control program
Treuillet et al. Outdoor/indoor vision-based localization for blind pedestrian navigation assistance
US20130218395A1 (en) Autonomous moving apparatus and method for controlling the same
JP5276931B2 (en) Method for recovering from moving object and position estimation error state of moving object
JP2008158868A (en) Mobile body and control method
JP5298741B2 (en) Autonomous mobile device
US10197399B2 (en) Method for localizing a robot in a localization plane
KR20130073476A (en) Mobile apparatus and localization method of mobile apparatus
TWI772743B (en) Information processing device and mobile robot
US20110106310A1 (en) Robot and task execution system
CN113396033B (en) Robot control system
JP2020079997A (en) Information processing apparatus, information processing method, and program
US12032377B2 (en) Mobility aid robot navigating method and mobility aid robot using the same
Zhang et al. Human-robot interaction for assisted wayfinding of a robotic navigation aid for the blind
JP2010009371A (en) Traveling robot and traveling robot control system
JP2009178782A (en) Mobile object, and apparatus and method for creating environmental map
US11720117B1 (en) System to facilitate autonomous mobile device movement
JP2010009370A (en) Traveling object control system and traveling object control method
US20200293051A1 (en) Route determination method

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20110906