JP2007041657A - Moving body control method, and moving body - Google Patents

Moving body control method, and moving body Download PDF

Info

Publication number
JP2007041657A
JP2007041657A JP2005222179A JP2005222179A JP2007041657A JP 2007041657 A JP2007041657 A JP 2007041657A JP 2005222179 A JP2005222179 A JP 2005222179A JP 2005222179 A JP2005222179 A JP 2005222179A JP 2007041657 A JP2007041657 A JP 2007041657A
Authority
JP
Japan
Prior art keywords
moving body
path
moving
robot
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2005222179A
Other languages
Japanese (ja)
Inventor
Gutmann Stephen
グットマン ステフェン
Masaki Fukuchi
正樹 福地
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP2005222179A priority Critical patent/JP2007041657A/en
Publication of JP2007041657A publication Critical patent/JP2007041657A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a moving body control method capable of moving on a path by selecting a proper moving motion even when an available moving motion of the moving body is changed. <P>SOLUTION: A path decision section 36 identifies processing sections 35_1 to 35_6, etc. which can be used by a CPU 15 as functions, and dynamically identifies a plurality of paths to a target position, based on the above usable processing sections. The path decision section 36 selectively instructs the processing sections 35_1 to 35_6 in succession, so as to make a robot 1 perform a running motion. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、撮像画像を基に移動する移動体を制御する移動体制御方法と、その移動体に関する。   The present invention relates to a moving body control method for controlling a moving body that moves based on a captured image, and the moving body.

例えば、自律型ロボットは、産業用ロボットと異なり、周囲の外部状態やロボット自身の内部状態に応じて自律的に動作を行うことのできるロボットである。例えば、自律型ロボットは、歩行動作では、外部の障害物を検出して障害物を回避するような行動経路を計画することができなくてはならない。従来のロボットのなかには、自身のおかれた環境の障害物地図を作成し、これに基づいて行動経路を決定できるロボットも提案されている。   For example, unlike an industrial robot, an autonomous robot is a robot that can operate autonomously according to the surrounding external state or the internal state of the robot itself. For example, an autonomous robot must be able to plan an action path that detects an external obstacle and avoids the obstacle in walking motion. Among conventional robots, a robot that can create an obstacle map of its own environment and determine an action route based on the obstacle map has been proposed.

米国特許第5006988号公報US Pat. No. 5,0069,884 特開2003−269937号公報JP 2003-269937 A

ところで、従来のロボットは、自らが備える機能、例えば、通常歩行、階段走行、よじ登り動作、ジャンプ動作などを行う機能が正常であるとの前提でロボットが移動するパスを決定し、ロボットを動作させている。
ところで、上述した機能は、その一部が故障する場合があるが、従来のロボットでは、全ての機能を正常に動作するという前提で、パス上の移動過程で利用する機能を順次決定するため、故障した機能が選択され、ロボットがパスを移動できない場合がある。
By the way, a conventional robot determines a path on which the robot moves and operates the robot on the assumption that the functions that the robot itself has, such as normal walking, stairs running, climbing movement, jumping movement, etc. are normal. ing.
By the way, some of the functions described above may fail, but in conventional robots, on the assumption that all functions operate normally, in order to sequentially determine the functions to be used in the movement process on the path, In some cases, the malfunctioning function is selected and the robot cannot move along the path.

本発明は上述した従来技術の問題点を解決するために、移動体が利用可能な移動動作が変化した場合でも、適切な移動動作を選択してパス上を移動できる移動体制御方法および移動体を提供することを目的とする。   In order to solve the above-described problems of the prior art, the present invention provides a moving body control method and a moving body capable of selecting an appropriate moving action and moving on a path even when the moving action available to the moving body changes. The purpose is to provide.

上述した従来技術の問題点を解決し、上述した目的を達成するため、第1の観点の発明の移動体制御方法は、移動体が目標位置まで移動する動作を制御する移動体制御方法であって、前記移動体の現在位置から前記目標位置までのパスの状態を検出する第1の工程と、前記移動体が実行可能な複数の移動動作を特定する第2の工程と、前記第1の工程で検出したパスの状態に基づいて、前記第2の工程で特定した前記移動体が実行可能な複数の種類の移動動作のうち、前記移動体の位置の状態に適合した移動動作を順次選択し、当該選択した移動動作を前記移動体が行うように制御する第3の工程とを有する。   In order to solve the above-described problems of the prior art and achieve the above-described object, the mobile body control method of the first aspect of the invention is a mobile body control method for controlling the movement of the mobile body to the target position. A first step of detecting a state of a path from the current position of the moving body to the target position, a second step of identifying a plurality of moving operations that can be performed by the moving body, and the first step Based on the state of the path detected in the process, sequentially select a movement operation suitable for the position of the moving body from among a plurality of types of movement operations that can be executed by the moving body specified in the second step. And a third step of controlling the moving body to perform the selected moving operation.

第2の観点の発明の移動体は、異なる複数の撮像位置からの撮像対象領域の撮像結果を生成する撮像手段と、走行手段と、前記撮像手段が生成した前記撮像結果を基に、前記移動体の現在位置から前記目標位置までのパスの状態を検出し、前記移動体が実行可能な複数の移動動作を特定し、前記検出したパスの状態に基づいて、前記第2の工程で特定した前記移動体が実行可能な複数の種類の移動動作のうち、前記移動体の位置の状態に適合した移動動作を順次選択し、当該選択した移動動作を前記移動体が行うように前記走行手段を制御する制御手段とを有する。   The moving body according to the second aspect of the invention is based on the imaging result generated by the imaging means, the traveling means, and the imaging result generated by the imaging means. The state of the path from the current position of the body to the target position is detected, a plurality of movement operations that can be executed by the moving body are specified, and the second step is specified based on the detected state of the path Among the plurality of types of moving operations that can be executed by the moving body, the moving means that sequentially selects a moving operation that matches the position state of the moving body, and the traveling unit performs the selected moving operation. Control means for controlling.

本発明によれば、移動体が利用可能な移動動作が変化した場合でも、適切な移動動作を選択してパス上を移動できる移動体制御方法および移動体を提供することができる。   According to the present invention, it is possible to provide a moving body control method and a moving body capable of selecting an appropriate moving action and moving on a path even when a moving action that can be used by the moving body changes.

以下、本発明の実施形態に係わるロボットについて説明する。
先ず、本実施形態の構成要素と、本発明の構成要素との対応関係を説明する。
図5に示す環境クラス分類部34の処理が本発明の第1の工程の一例であり、図22に示すパス決定部36のステップST61の処理が本発明の第2の工程の一例であり、ステップST62〜ST64、図24および図25の処理が本発明の第3の工程の一例である。
また、図23の処理が、本発明の第4の工程の一例である。
Hereinafter, a robot according to an embodiment of the present invention will be described.
First, the correspondence between the components of the present embodiment and the components of the present invention will be described.
The process of the environment class classification unit 34 illustrated in FIG. 5 is an example of the first process of the present invention, and the process of step ST61 of the path determination unit 36 illustrated in FIG. 22 is an example of the second process of the present invention. Steps ST62 to ST64 and the processes of FIGS. 24 and 25 are examples of the third step of the present invention.
Moreover, the process of FIG. 23 is an example of the 4th process of this invention.

また、図1に示すCCDカメラ10R,10Lが本発明の撮像手段の一例であり、図3および図4に示す脚部などが本発明の走行手段の一例であり、図1に示すCPU15が本発明の制御手段の一例である。   Further, the CCD cameras 10R and 10L shown in FIG. 1 are examples of the image pickup means of the present invention, the legs shown in FIGS. 3 and 4 are examples of the travel means of the present invention, and the CPU 15 shown in FIG. It is an example of the control means of invention.

本実施形態のロボット1は、ロボット1では、図5等に示すように、CPU15が機能として利用可能な処理部35_1〜35_6等を特定し(図22に示すステップST61)、その利用な処理部を基に、目標位置までの複数のパスを動的に特定する(ステップST62)。
これにより、例えば、処理部35_1〜35_6あるいはそれによって制御されるアクチュエータ群16などの機械部位が故障した場合に、その故障した機能に対応した処理部による制御を利用しないで目標位置に達するパスを選択することができる。
In the robot 1 of the present embodiment, as shown in FIG. 5 and the like, the robot 1 identifies the processing units 35_1 to 35_6 and the like that can be used as functions by the CPU 15 (step ST61 shown in FIG. 22), and the processing units that are used. Based on the above, a plurality of paths to the target position are dynamically specified (step ST62).
Thereby, for example, when a machine part such as the processing units 35_1 to 35_6 or the actuator group 16 controlled thereby fails, a path reaching the target position without using control by the processing unit corresponding to the failed function is obtained. You can choose.

図1は、本発明の実施形態のロボット1の機能ブロック図である。
図1に示すように、ロボット1は、例えば、CCDカメラ10R,10L、ステレオ画像処理装置12、CPU15、アクチュエータ群16およびセンサ群17を有する。
CCDカメラ10R,10Lは、それぞれ撮像結果に応じた右画像データS10Rおよび左画像データS10Lをステレオ画像処理装置12に出力する。
FIG. 1 is a functional block diagram of a robot 1 according to an embodiment of the present invention.
As shown in FIG. 1, the robot 1 includes, for example, CCD cameras 10R and 10L, a stereo image processing device 12, a CPU 15, an actuator group 16, and a sensor group 17.
The CCD cameras 10R and 10L output the right image data S10R and the left image data S10L corresponding to the imaging results to the stereo image processing device 12, respectively.

ステレオ画像処理装置12は、CCDカメラ10R,10Lから入力した右画像データS10Rと左画像データS10Lの視差情報(disparity data)(距離情報)を計算し、カラー画像データ(YUV:輝度Y、UV色差)S12a及び視差画像データ(YDR:輝度Y、視差D、信頼度R)S12bをフレーム毎に左右交互に算出する。
ここで、視差とは、空間中のある点が左側カメラ及び右側カメラに写像される点の違いを示し、そのカメラからの距離に応じて変化するものである。
カラー画像データS12a及び視差画像データS12bは、CPU(制御部)15に入力される。
CPU15は、ステレオ画像処理装置12から入力したカラー画像データS12a及び視差画像データS12bを用いて、後述するソフトウェア構成によって、画像処理を行う。
The stereo image processing device 12 calculates disparity information (distance information) between the right image data S10R and the left image data S10L input from the CCD cameras 10R and 10L, and color image data (YUV: luminance Y, UV color difference). ) S12a and parallax image data (YDR: luminance Y, parallax D, reliability R) S12b are alternately calculated for each frame.
Here, the parallax indicates a difference between points where a certain point in the space is mapped to the left camera and the right camera, and changes according to the distance from the camera.
The color image data S12a and the parallax image data S12b are input to a CPU (control unit) 15.
The CPU 15 uses the color image data S12a and the parallax image data S12b input from the stereo image processing device 12 to perform image processing with a software configuration described later.

アクチュエータ群16は、ロボット1の動きを駆動する各種のアクチュエータである。
アクチュエータ群16は、CPU15からの制御信号S15によって駆動される。
センサ群17は、ロボット1の所定箇所に設置された赤外線センサなどの非接触型センサや接触型センサなどである。
センサ群17は、検出信号S17をCPU15に出力する。
The actuator group 16 is various actuators that drive the movement of the robot 1.
The actuator group 16 is driven by a control signal S15 from the CPU 15.
The sensor group 17 is a non-contact type sensor such as an infrared sensor or a contact type sensor installed at a predetermined location of the robot 1.
The sensor group 17 outputs a detection signal S17 to the CPU 15.

以下、図1に示すロボット1の構成をさらに詳細に説明する。
図2に示すように、ロボット1は、2足歩行タイプであり、日常生活上の様々な場面における人的活動を支援する実用ロボットである。
ロボット1は、内部状態(怒り、悲しみ、喜び、楽しみ等)に応じて行動できるほか、人間が行う基本的な動作を表出できるエンターテインメントロボットである。ロボットは、3次元環境クラスデータを生成し、これを基に行動経路を決定する。
Hereinafter, the configuration of the robot 1 shown in FIG. 1 will be described in more detail.
As shown in FIG. 2, the robot 1 is a biped walking type and is a practical robot that supports human activities in various scenes in daily life.
The robot 1 is an entertainment robot that can act in accordance with the internal state (anger, sadness, joy, enjoyment, etc.) and express basic actions performed by humans. The robot generates three-dimensional environment class data and determines an action route based on this.

図2に示すように、ロボット1は、体幹部ユニット202の所定の位置に頭部ユニット203が連結されるとともに、左右2つの腕部ユニット204R/Lと、左右2つの脚部ユニット205R/Lが連結されて構成されている。   As shown in FIG. 2, the robot 1 includes a head unit 203 connected to a predetermined position of the trunk unit 202, two left and right arm units 204R / L, and two left and right leg units 205R / L. Are connected.

図2に示すロボット1が具備する関節自由度構成を図3に模式的に示す。
頭部ユニット203を支持する首関節は、首関節ヨー軸101と、首関節ピッチ軸102と、首関節ロール軸103という3自由度を有している。
A joint degree-of-freedom configuration of the robot 1 shown in FIG. 2 is schematically shown in FIG.
The neck joint that supports the head unit 203 has three degrees of freedom: a neck joint yaw axis 101, a neck joint pitch axis 102, and a neck joint roll axis 103.

また、上肢を構成する各々の腕部ユニット204R/Lは、肩関節ピッチ軸107と、肩関節ロール軸108と、上腕ヨー軸109と、肘関節ピッチ軸110と、前腕ヨー軸111と、手首関節ピッチ軸112と、手首関節ロール軸113と、手部114とで構成される。
手部114は、実際には、複数本の指を含む多関節・多自由度構造体である。ただし、手部114の動作は、ロボット1の姿勢制御や歩行制御に対する寄与や影響が少ないので、本明細書では簡単のため、ゼロ自由度と仮定する。したがって、各腕部は7自由度を有するとする。
また、体幹部ユニット202は、体幹ピッチ軸104と、体幹ロール軸105と、体幹ヨー軸106という3自由度を有する。
Each arm unit 204R / L constituting the upper limb includes a shoulder joint pitch axis 107, a shoulder joint roll axis 108, an upper arm yaw axis 109, an elbow joint pitch axis 110, a forearm yaw axis 111, and a wrist. A joint pitch axis 112, a wrist joint roll axis 113, and a hand part 114 are included.
The hand portion 114 is actually a multi-joint / multi-degree-of-freedom structure including a plurality of fingers. However, since the movement of the hand portion 114 has little contribution or influence on the posture control or walking control of the robot 1, it is assumed in this specification that the degree of freedom is zero. Therefore, it is assumed that each arm portion has seven degrees of freedom.
The trunk unit 202 has three degrees of freedom: a trunk pitch axis 104, a trunk roll axis 105, and a trunk yaw axis 106.

また、下肢を構成する各々の脚部ユニット205R/Lは、股関節ヨー軸115と、股関節ピッチ軸116と、股関節ロール軸117と、膝関節ピッチ軸118と、足首関節ピッチ軸119と、足首関節ロール軸120と、足底121とで構成される。
本明細書中では、股関節ピッチ軸116と股関節ロール軸117の交点は、ロボット1の股関節位置を定義する。人体の足底121は、実際には多関節・多自由度の足底を含んだ構造体であるが、本明細書においては、簡単のためロボット1の足底は、ゼロ自由度とする。したがって、各脚部は、6自由度で構成される。
以上を総括すれば、ロボット1全体としては、合計で3+7×2+3+6×2=32自由度を有することになる。ただし、エンターテインメント向けのロボット1が必ずしも32自由度に限定されるわけではない。設計・制作上の制約条件や要求仕様等に応じて、自由度すなわち関節数を適宜増減することができることはいうまでもない。
Each leg unit 205R / L constituting the lower limb includes a hip joint yaw axis 115, a hip joint pitch axis 116, a hip joint roll axis 117, a knee joint pitch axis 118, an ankle joint pitch axis 119, and an ankle joint. A roll shaft 120 and a sole 121 are included.
In this specification, the intersection of the hip joint pitch axis 116 and the hip joint roll axis 117 defines the hip joint position of the robot 1. The human foot sole 121 is actually a structure including a multi-joint / multi-degree-of-freedom sole, but in this specification, for the sake of simplicity, the sole of the robot 1 has zero degrees of freedom. Accordingly, each leg is configured with 6 degrees of freedom.
In summary, the robot 1 as a whole has a total of 3 + 7 × 2 + 3 + 6 × 2 = 32 degrees of freedom. However, the robot 1 for entertainment is not necessarily limited to 32 degrees of freedom. Needless to say, the degree of freedom, that is, the number of joints, can be increased or decreased as appropriate in accordance with design / production constraints or required specifications.

上述したようなロボット1がもつ各自由度は、実際にはアクチュエータを用いて実装される。外観上で余分な膨らみを排してヒトの自然体形状に近似させること、2足歩行という不安定構造体に対して姿勢制御を行うこと等の要請から、アクチュエータは小型かつ軽量であることが好ましい。
なお、図3および図4に示すアクチュエータによって図1に示すアクチュエータ群16が構成され、図3および図4に示すセンサによって図1に示すセンサ群17が構成される。
Each degree of freedom of the robot 1 as described above is actually implemented using an actuator. It is preferable that the actuator be small and light in light of demands such as eliminating external bulges on the appearance and approximating the shape of a human body, and performing posture control on an unstable structure such as biped walking. .
The actuator group 16 shown in FIG. 1 is constituted by the actuators shown in FIGS. 3 and 4, and the sensor group 17 shown in FIG. 1 is constituted by the sensors shown in FIGS.

このようなロボットは、ロボット全体の動作を制御する制御システムを例えば体幹部ユニット202等に備える。
図3および図4は、本実施形態のロボット1の制御システム構成を示す模式図である。
図3および図4に示すように、制御システムは、ユーザ入力等に動的に反応して情緒判断や感情表現を司る思考制御モジュール200と、アクチュエータ350の駆動等、ロボット1の全身協調運動を制御する運動制御モジュール300とで構成される。
Such a robot includes a control system that controls the operation of the entire robot, for example, in the trunk unit 202.
3 and 4 are schematic views showing the control system configuration of the robot 1 of the present embodiment.
As shown in FIG. 3 and FIG. 4, the control system performs the whole body cooperative movement of the robot 1, such as driving the actuator 350 and the thinking control module 200 that controls emotion judgment and emotion expression dynamically in response to user input and the like. It is comprised with the exercise | movement control module 300 to control.

思考制御モジュール200は、情緒判断や感情表現に関する演算処理を実行するCPU(Central Processing Unit)211や、RAM(Random Access Memory)212、ROM(Read Only Memory)213及び外部記憶装置(ハード・ディスク・ドライブ等)214等で構成され、モジュール内で自己完結した処理を行うことができる、独立駆動型の情報処理装置である。   The thought control module 200 includes a CPU (Central Processing Unit) 211, a RAM (Random Access Memory) 212, a ROM (Read Only Memory) 213, and an external storage device (hard disk / disk This is an independent drive type information processing apparatus that is configured with 214 and the like and can perform self-contained processing within the module.

この思考制御モジュール200は、画像入力装置251から入力される画像データや音声入力装置252から入力される音声データ等、外界からの刺激等にしたがって、ロボット1の現在の感情や意思を決定する。すなわち、上述したように、入力される画像データからユーザの表情を認識し、その情報をロボット201の感情や意思に反映させることで、ユーザの表情に応じた行動を発現することができる。
ここで、画像入力装置251は、例えばCCD(Charge Coupled Device)カメラを複数備えており、これらのカメラにより撮像した画像から距離画像を得ることができる。
本実施形態では、画像入力装置251は、図1に示すCCDカメラ10R,10Lに対応している。
また、音声入力装置252は、例えばマイクロホンを複数備えている。
The thought control module 200 determines the current emotion and intention of the robot 1 according to stimuli from the outside such as image data input from the image input device 251 and sound data input from the sound input device 252. That is, as described above, by recognizing the user's facial expression from the input image data and reflecting the information on the emotion and intention of the robot 201, it is possible to express an action according to the user's facial expression.
Here, the image input device 251 includes a plurality of CCD (Charge Coupled Device) cameras, for example, and can obtain a distance image from images captured by these cameras.
In the present embodiment, the image input device 251 corresponds to the CCD cameras 10R and 10L shown in FIG.
The voice input device 252 includes a plurality of microphones, for example.

思考制御モジュール200は、意思決定に基づいた動作又は行動シーケンス、すなわち四肢の運動を実行するように、運動制御モジュール300に対して指令を発行する。   The thought control module 200 issues a command to the movement control module 300 to execute an action or action sequence based on decision making, that is, movement of the limbs.

運動制御モジュール300は、ロボット1の全身協調運動を制御するCPU311(図1に示すCPU15)や、RAM312、ROM313及び外部記憶装置(ハード・ディスク・ドライブ等)314等で構成され、モジュール内で自己完結した処理を行うことができる独立駆動型の情報処理装置である。また、外部記憶装置314には、例えば、オフラインで算出された歩行パターンや目標とするZMP軌道、その他の行動計画を蓄積することができる。
この運動制御モジュール300には、図2に示したロボット1の全身に分散するそれぞれの関節自由度を実現するアクチュエータ350、対象物との距離を測定する距離計測センサ(図示せず)、体幹部ユニット202の姿勢や傾斜を計測する姿勢センサ351、左右の足底の離床又は着床を検出する接地確認センサ352,353、足底121の足底121に設けられる荷重センサ、バッテリ等の電源を管理する電源制御装置354等の各種の装置が、バス・インターフェース(I/F)310経由で接続されている。
ここで、姿勢センサ351は、例えば加速度センサとジャイロ・センサの組合せによって構成され、接地確認センサ352,353は、近接センサ又はマイクロ・スイッチ等で構成される。
The motion control module 300 includes a CPU 311 (CPU 15 shown in FIG. 1), a RAM 312, a ROM 313, an external storage device (hard disk drive, etc.) 314, etc. that control the whole body cooperative motion of the robot 1. This is an independent drive type information processing apparatus capable of performing a complete process. Also, the external storage device 314 can store, for example, walking patterns calculated offline, target ZMP trajectories, and other action plans.
The motion control module 300 includes an actuator 350 that realizes the degrees of freedom of joints distributed over the whole body of the robot 1 shown in FIG. 2, a distance measurement sensor (not shown) that measures the distance to the object, and the trunk A posture sensor 351 for measuring the posture and inclination of the unit 202, grounding confirmation sensors 352 and 353 for detecting the left or right foot floor getting off or landing, a load sensor provided on the sole 121 of the sole 121, a battery, etc. Various devices such as a power control device 354 to be managed are connected via a bus interface (I / F) 310.
Here, the attitude sensor 351 is configured by, for example, a combination of an acceleration sensor and a gyro sensor, and the grounding confirmation sensors 352 and 353 are configured by proximity sensors, micro switches, or the like.

思考制御モジュール200と運動制御モジュール300は、共通のプラットフォーム上
で構築され、両者間はバス・インターフェース210,310を介して相互接続されている。
The thought control module 200 and the motion control module 300 are constructed on a common platform, and are interconnected via bus interfaces 210 and 310.

運動制御モジュール300では、思考制御モジュール200から指示された行動を体現すべく、各アクチュエータ350による全身協調運動を制御する。すなわち、CPU311は、思考制御モジュール200から指示された行動に応じた動作パターンを外部記憶装置314から取り出し、又は、内部的に動作パターンを生成する。そして、CPU311は、指定された動作パターンにしたがって、足部運動、ZMP軌道、体幹運動、上肢運動、腰部水平位置及び高さ等を設定するとともに、これらの設定内容に従った動作を指示す
る指令値を各アクチュエータ350に転送する。
The motion control module 300 controls the whole body cooperative motion by each actuator 350 in order to embody the action instructed from the thought control module 200. That is, the CPU 311 extracts an operation pattern corresponding to the action instructed from the thought control module 200 from the external storage device 314 or generates an operation pattern internally. Then, the CPU 311 sets a foot movement, a ZMP trajectory, a trunk movement, an upper limb movement, a horizontal waist position, a height, and the like according to a specified movement pattern, and instructs a movement according to these setting contents. The command value is transferred to each actuator 350.

CPU311は、姿勢センサ351の出力信号によりロボット1の体幹部ユニット202の姿勢や傾きを検出するとともに、各接地確認センサ352,353の出力信号により各脚部ユニット205R/Lが遊脚又は立脚のいずれの状態であるかを検出することによって、ロボット1の全身協調運動を適応的に制御することができる。更に、CPU311は、ZMP位置が常にZMP安定領域の中心に向かうように、ロボット1の姿勢や動作を制御する。   The CPU 311 detects the posture and inclination of the trunk unit 202 of the robot 1 based on the output signal of the posture sensor 351, and each leg unit 205R / L detects whether the leg unit 205R / L is a free leg or a stance based on the output signals of the ground contact confirmation sensors 352 and 353. By detecting which state it is, the whole body cooperative movement of the robot 1 can be adaptively controlled. Further, the CPU 311 controls the posture and operation of the robot 1 so that the ZMP position always moves toward the center of the ZMP stable region.

また、運動制御モジュール300は、思考制御モジュール200において決定された意
思通りの行動がどの程度発現されたか、すなわち処理の状況を、思考制御モジュール20
0に返すようになっている。このようにしてロボット1は、制御プログラムに基づいて自己及び周囲の状況を判断し、自律的に行動することができる。
In addition, the motion control module 300 indicates how much the intended behavior determined in the thought control module 200 is expressed, that is, the processing status.
It returns to 0. In this way, the robot 1 can determine its own and surrounding conditions based on the control program and can act autonomously.

以下、図1および図4に示すCPU15(CPU311)の機能を説明する。
図5は、図1および図4に示すCPU15の機能ブロック図である。
図5に示すように、CPU15は、例えば、距離データ生成部31、平面検出部32、グリッドマップ生成部33、環境クラス分類部34、通常走行処理部35_1、階段走行処理部35_2、注意走行処理部35_3、這動作処理部35_4、ステップオーバ処理部35_5、よじ登り/ジャンプ処理部35_6,パス決定部36、並びに動き制御部37を有する。
The function of the CPU 15 (CPU 311) shown in FIGS. 1 and 4 will be described below.
FIG. 5 is a functional block diagram of the CPU 15 shown in FIGS. 1 and 4.
As illustrated in FIG. 5, the CPU 15 includes, for example, a distance data generation unit 31, a plane detection unit 32, a grid map generation unit 33, an environment class classification unit 34, a normal travel processing unit 35_1, a staircase travel processing unit 35_2, and a caution travel process. A unit 35_3, a heel motion processing unit 35_4, a step over processing unit 35_5, a climbing / jump processing unit 35_6, a path determination unit 36, and a motion control unit 37.

[距離データ生成部31]
距離データ生成部31は、図1に示すステレオ画像処理装置12から入力したカラー画像データS12a及び視差画像データS12bを基に、ロボット1から画像(環境)内の対象物までの3次元距離を示す距離データ(ステレオデータ)S31を生成し、これを平面検出部32およびグリッドマップ生成部33に出力する。
距離データ生成部31は、例えば、図6に示すような画像(環境)内の距離データS31を生成する。図6に示す実空間S500には、ロボット1が登行可能な平面PL501とPL502とを備える階段(Staircase)ST503と、ロボット1が登行不可能な障害物(Obstacle)OB504,505とが示されている。
また、図7は、ロボット1が外界を撮影している様子を示す模式図である。
ここでは、床面(基準面)をx−y平面とし、高さ方向をz軸としたとき、図7に示すように、画像入力部(ステレオカメラ)を頭部ユニット203に有するロボット1の視野範囲は、ロボット1の前方の所定範囲となる。ロボット1は、視野範囲にある環境を認識して距離データS31を生成する。
[Distance data generator 31]
The distance data generation unit 31 indicates a three-dimensional distance from the robot 1 to an object in the image (environment) based on the color image data S12a and the parallax image data S12b input from the stereo image processing device 12 illustrated in FIG. Distance data (stereo data) S31 is generated and output to the plane detection unit 32 and the grid map generation unit 33.
The distance data generation unit 31 generates distance data S31 in an image (environment) as shown in FIG. 6, for example. In the real space S500 shown in FIG. 6, a staircase ST503 including planes PL501 and PL502 on which the robot 1 can climb, and obstacles OB504 and 505 on which the robot 1 cannot climb are shown. Has been.
FIG. 7 is a schematic diagram showing a state in which the robot 1 is photographing the outside world.
Here, when the floor (reference plane) is the xy plane and the height direction is the z axis, the robot 1 having an image input unit (stereo camera) in the head unit 203 as shown in FIG. The visual field range is a predetermined range in front of the robot 1. The robot 1 recognizes the environment in the visual field range and generates the distance data S31.

[平面検出部32]
平面検出部32は、距離データ生成部31から入力した距離データS31から環境内に存在する複数の平面を検出し、それを示す平面データS32をグリッドマップ生成部33に出力する。
ここでの平面の検出方法としては、線分拡張法、ハフ変換等を利用した公知の平面検出技術を適用することができる。ノイズを含む距離データから階段のように複数平面を検出する代表例として、線分拡張法による平面検出を行うと正確に平面を検出することができる。
[Plane detection unit 32]
The plane detection unit 32 detects a plurality of planes existing in the environment from the distance data S31 input from the distance data generation unit 31, and outputs plane data S32 indicating them to the grid map generation unit 33.
As a plane detection method here, a known plane detection technique using a line segment expansion method, a Hough transform, or the like can be applied. As a representative example of detecting a plurality of planes like staircases from distance data including noise, it is possible to accurately detect planes by performing plane detection by a line segment expansion method.

線分拡張法は、視野内において支配的な平面だけでなく、例えば階段など複数の平面が
存在する場合であっても確実に複数平面を検出することができ、平面を検出する際に抽出
する線分抽出において、距離データの点の分布に応じて適応的に線分をフィッティングさ
せることにより観測ノイズに対してロバストな平面検出結果を得ることができる。
The line segment expansion method can detect not only a dominant plane in the field of view but also a plurality of planes such as stairs, and can extract them when detecting a plane. In line segment extraction, a plane detection result that is robust against observation noise can be obtained by fitting a line segment adaptively according to the distribution of the points in the distance data.

平面検出部32は、図8に示すように、画像を構成する距離データから同一平面にあると推定される距離データ点群を選択し、この距離データ点群毎に線分を抽出する線分抽出部51と、画像内に含まれる、線分抽出部51よって抽出された全線分からなる線分群から、該画像内に存在する1又は複数の平面領域を検出する領域拡張部52とを有する。
領域拡張部52は、線分群から同一平面上に存在すると推定される任意の3本の線分を選択し、これらから基準平面を求める。そして、選択した3本の線分に隣接する線分がこの基準平面と同一平面に属するか否かを判定し、同一平面に属すると判定した場合にはその領域拡張用線分としての線分により基準平面を更新するとともに基準平面の領域を拡張する。
As shown in FIG. 8, the plane detection unit 32 selects a distance data point group estimated to be in the same plane from the distance data constituting the image, and extracts a line segment for each distance data point group. An extraction unit 51 and a region expansion unit 52 that detects one or a plurality of planar regions present in the image from a line segment group that is included in the image and is composed of all line segments extracted by the line segment extraction unit 51.
The area expanding unit 52 selects arbitrary three line segments estimated to exist on the same plane from the line segment group, and obtains a reference plane therefrom. Then, it is determined whether or not the line segments adjacent to the selected three line segments belong to the same plane as the reference plane. If it is determined that they belong to the same plane, the line segment as the area expansion line segment is determined. To update the reference plane and expand the area of the reference plane.

線分抽出部51は、その距離画像における列又は行毎の各データ列において、3次元空間内で同一平面上にあると推定される距離データ点群を抽出し、この距離データ点群から距離データ点群の分布に応じて1以上の線分を生成する。すなわち、分布に偏りがあると判断された場合には、データ点群は同一平面上にないと判断し、データ点群を分割し、分割したデータ点群それぞれについて再度分布に偏りがあるかを判断する処理を繰り返し、分布に偏りがない場合にはそのデータ点群から線分を生成する。全てのデータ列について以上の処理を行い、生成した線分群S51を領域拡張部52に出力する。   The line segment extraction unit 51 extracts a distance data point group estimated to be on the same plane in the three-dimensional space in each data column for each column or row in the distance image, and the distance from the distance data point group One or more line segments are generated according to the distribution of the data point group. That is, when it is determined that the distribution is biased, it is determined that the data point group is not on the same plane, the data point group is divided, and whether the distribution is biased again for each of the divided data point groups. The determination process is repeated, and if there is no bias in the distribution, a line segment is generated from the data point group. The above processing is performed for all data strings, and the generated line segment group S51 is output to the area expansion unit 52.

領域拡張部52は、この線分S51において、同一の平面に属すると推定される線分を3本選択し、これらから基準平面としての種となる平面を求める。この種となる平面の領域(領域種:seed region)に対して、該領域種と同一平面に属する線分を順次統合していくことで拡張していく領域拡張によって距離画像を複数の平面に分割し、平面群の平面データS32を出力する。   In this line segment S51, the area expanding unit 52 selects three line segments estimated to belong to the same plane, and obtains a plane serving as a reference plane from these. A range image is expanded to a plurality of planes by expanding a region of this plane (seeded region) by sequentially integrating line segments belonging to the same plane as the region type. Dividing and outputting plane data S32 of the plane group.

平面検出部32は、ハフ変換のように、取得した画像に含まれる支配的な平面を検出するのみならず、階段など複数平面が含まれている場合であっても平面を検出可能とするため、線分拡張法により平面を検出する。そして、この際、距離データ点の分布に応じて線分を生成することにより、計測ノイズに対してロバストな検出結果を得ることができるものである。   The plane detection unit 32 not only detects a dominant plane included in the acquired image as in the Hough transform, but also enables detection of a plane even when a plurality of planes such as stairs are included. The plane is detected by the line segment expansion method. At this time, by generating a line segment according to the distribution of the distance data points, a detection result that is robust against measurement noise can be obtained.

図9は、線分拡張法による平面検出方法を説明する図である。
線分拡張法による平面検出では、図9に示すように、まず、焦点Fから撮影された画像20において、行方向又は列方向のデータ列における処理をする。画像内の例えば行方向の画素列(image row:イメージロウ)において、距離データ点が同一の平面に属するならば直線となることを利用し、同一平面に属すると推定される距離データ点からなる線分を生成する。そして、得られた複数の線分からなる線分群において、同一平面を構成するとされる線分群に基づき平面を推定、検出する方法である。
FIG. 9 is a diagram for explaining a plane detection method based on a line segment expansion method.
In plane detection by the line segment expansion method, as shown in FIG. 9, first, processing is performed on a data string in the row direction or the column direction in the image 20 taken from the focal point F. For example, in a row of pixels in an image (image row), it is composed of distance data points that are estimated to belong to the same plane by using a straight line if the distance data points belong to the same plane. Generate a line segment. And in the obtained line segment group which consists of several line segments, it is a method of estimating and detecting a plane based on the line segment group which comprises the same plane.

図10は、線分拡張法による平面検出処理を示すフローチャートである。
図10に示すように、まず、平面検出部32は、距離データS31を入力し(ステップST1)、距離画像の行方向(又は列方向)の各画素列において同一平面に属すると推定されるデータ点から線分を求める(ステップST2)。
そして、平面検出部32は、これらの線分群のなかから同一平面に属すると推定される線分を抽出し、これらの線分からなる平面を求める(ステップST3)。このステップS3では、まず、平面検出部32は、平面の種となる領域(以下、領域種(seed region)という。)を選び、該当する領域種を選択する。この選択においては、上下隣接する行方向(又は左右隣接する列方向)の1ラインを含む3本の線分が同一平面にあることを条件とする。ここで、平面検出部32は、選択した3本の線分からなる領域種が属する平面を基準平面とし、3本の線分から平均して求まる平面を求めておく。また、3本の線分からなる領域を基準平面領域とする。
FIG. 10 is a flowchart showing plane detection processing by the line segment expansion method.
As shown in FIG. 10, first, the plane detection unit 32 inputs distance data S31 (step ST1), and is estimated to belong to the same plane in each pixel column in the row direction (or column direction) of the distance image. A line segment is obtained from the point (step ST2).
Then, the plane detection unit 32 extracts line segments estimated to belong to the same plane from these line segment groups, and obtains a plane composed of these line segments (step ST3). In step S3, first, the plane detection unit 32 selects a region to be a plane seed (hereinafter referred to as a seed region), and selects a corresponding region type. This selection is made on condition that three line segments including one line in the row direction adjacent to the upper and lower sides (or the column direction adjacent to the left and right) are on the same plane. Here, the plane detection unit 32 uses the plane to which the selected region type consisting of the three line segments belong as a reference plane, and obtains a plane obtained by averaging from the three line segments. Further, an area composed of three line segments is set as a reference plane area.

そして、平面検出部32は、選択した領域種に隣接する行方向(又は列方向)の画素列からなる直線と上記基準平面とが同じ平面であるかどうかを空間的な距離を比較することで判断し、同じ平面である場合には、その隣接する線分を基準平面領域に追加し(領域拡張処理)、追加した線分を含めたものとして上記基準平面を更新し(平面更新処理)、これを平面領域に隣接するデータ列に同一平面の線分が存在しなくなるまで繰り返し行う。そして、以上領域種を検索して平面更新及び領域拡張処理を、種となる領域(3本の線分)が存在しなくなるまで繰り返し実行する。最後に、得られた複数の領域群のなかから同一平面を構成するものを連結する。そして、本実施の形態においては、得られた平面に属する線分群のうち、平面から所定の閾値以上外れる線分を除いて再度平面を求める平面再算出処理をステップST4として更に設け、最終的な平面とするが、詳細は後述する。   Then, the plane detection unit 32 compares the spatial distance to determine whether or not the straight line composed of the pixel columns in the row direction (or column direction) adjacent to the selected region type and the reference plane are the same plane. If it is the same plane, add the adjacent line segment to the reference plane area (area expansion process), update the reference plane as including the added line segment (plane update process), This is repeated until there is no line segment on the same plane in the data string adjacent to the plane area. Then, the region type is searched and the plane update and the region expansion process are repeatedly executed until there are no seed regions (three line segments). Finally, what constitutes the same plane is connected from the obtained plurality of region groups. In the present embodiment, a plane recalculation process for obtaining a plane again by removing a line segment that deviates from the plane by a predetermined threshold or more from the line segment group belonging to the obtained plane is further provided as step ST4. Although it is a plane, details will be described later.

ここで、3次元距離データから線分を検出し、これを同一平面毎にまとめた領域を1つの平面とする処理は従来の線分拡張法による平面検出処理であるが、本実施の形態においては、ステップST2における線分抽出方法が従来とは異なる。すなわち、上述したように、距離データ点から線分を求めて距離データ点にできるだけフィットするように線分を生成しようとしても、距離データの精度に応じて閾値を変更しなければ、over-segmentation又はunder-segmentationなどもの問題が生じてしまう。そこで、本実施の形態においては、この線分抽出において、距離データの分布を解析することで、距離データの精度、ノイズに応じて適応的に閾値を変更する手法を導入するものとする。   Here, the process of detecting a line segment from the three-dimensional distance data and combining the areas into the same plane as one plane is a plane detection process by the conventional line segment expansion method. Is different from the conventional line segment extraction method in step ST2. That is, as described above, even if an attempt is made to generate a line segment so as to fit the distance data point as much as possible, if the threshold value is not changed according to the accuracy of the distance data, over-segmentation Or problems such as under-segmentation occur. Therefore, in the present embodiment, a method of adaptively changing the threshold value according to the accuracy of distance data and noise is analyzed by analyzing the distribution of distance data in this line segment extraction.

上述した平面検出処理によって検出される平面について、図11、図12を用いて説明する。平面検出部32によって検出される平面が、例えば、図11、図12に示す階段STAの場合について説明する。図11(a)、図12(a)は階段を正面からみた図であり、図11(b)、図12(b)は階段を側面からみた図であり、図11(c)、図12(c)は階段を斜めからみた図である。   The plane detected by the plane detection process described above will be described with reference to FIGS. The case where the plane detected by the plane detection unit 32 is, for example, the staircase STA shown in FIGS. 11 and 12 will be described. 11 (a) and 12 (a) are views of the stairs as seen from the front, and FIGS. 11 (b) and 12 (b) are views of the stairs as seen from the side. FIG. 11 (c) and FIG. (C) is the figure which looked at the stairs from diagonally.

本明細書においては、人間、ロボットなどが階段を昇降するために使用する面(足又は可動脚部を載せる面)を踏面といい、一の踏面からその次の踏面までの高さ(1段の階段の高さ)を蹴り上げということとする。また、階段は、地面に近い方から1段目、2段目とカウントすることとする。   In this specification, a surface (surface on which a foot or a movable leg is placed) used by a human, a robot, etc. to move up and down stairs is called a tread surface, and the height (one step) from one tread surface to the next tread surface. The height of the stairs) is to be kicked up. The stairs are counted as the first and second steps from the side closer to the ground.

図11に示す階段STA1は、段数が3段の階段であり、蹴り上げ4cm、1,2段面の踏面の大きさは幅30cm、奥行き10cm、最上段である3段目の踏面のみ、幅30cm、奥行き21cmとなっている。また、図12に示す階段STA2も段数が3段の階段であり、蹴り上げ3cm、1,2段面の踏面の大きさは幅33cm、奥行き12cm、最上段である3段目の踏面のみ、幅33cm、奥行き32cmとなっている。   The staircase STA1 shown in FIG. 11 is a staircase having three steps, the kicking height is 4 cm, the step size of the first and second steps is 30 cm wide, the depth is 10 cm, and only the third step tread is the width of the uppermost step. It is 30 cm and the depth is 21 cm. Further, the staircase STA2 shown in FIG. 12 is also a three-step staircase, the kicking height is 3 cm, the size of the tread surface of the first and second steps is 33 cm wide, the depth is 12 cm, and only the third step tread, which is the uppermost step, It is 33 cm wide and 32 cm deep.

[グリッドマップ生成部33]
グリッドマップ生成部33は、距離データ生成部31から入力した距離データS31と平面検出部32から入力した上記平面検出データS32とに基づいて、3次元グリッドマップデータGMおよびフロア高さデータFHを生成し、これらを環境クラス分類部34に出力する。
[Grid Map Generation Unit 33]
The grid map generation unit 33 generates the three-dimensional grid map data GM and the floor height data FH based on the distance data S31 input from the distance data generation unit 31 and the plane detection data S32 input from the plane detection unit 32. These are output to the environment class classification unit 34.

先ず、グリッドマップ生成部33による3次元グリッドマップデータGMの生成処理について説明する。
3次元グリッドマップデータGMは、周囲の環境を水平方向及び垂直方向に所定の大きさの格子(グリッド;Grid)に分割して表したものである。
グリッドマップ生成部33は、距離データ生成部31からの距離データS31と、平面検出部32からの平面データS32とに基づいて、例えば、4メートル四方、高さ1メートルの空間を、水平解像度4センチ及び垂直解像度1センチの直方体空間を1グリッド単位(1セルと記す。)とし、その集合によって表現された3次元グリッドマップデータGMを生成する。
グリッドマップ生成部33は、各セルに物体によって占有されているか否かの確率を付与し、観測データに基づいて各セルの占有確率を変更させている。また、グリッドマップ生成部33は、占有確率に閾値を設け、占有確率が閾値より大きいか否かによって環境の状態を地図として表現している。
本具体例では、高さ方向の解像度がセル分解能に依存しないため、垂直解像度は、1セ
ンチよりも粗くできる。
First, generation processing of the three-dimensional grid map data GM by the grid map generation unit 33 will be described.
The three-dimensional grid map data GM is obtained by dividing the surrounding environment into a grid (Grid) having a predetermined size in the horizontal direction and the vertical direction.
Based on the distance data S31 from the distance data generation unit 31 and the plane data S32 from the plane detection unit 32, the grid map generation unit 33 generates, for example, a space of 4 meters square and 1 meter in height with a horizontal resolution of 4 A rectangular parallelepiped space having a centimeter and a vertical resolution of 1 centimeter is defined as one grid unit (denoted as one cell), and three-dimensional grid map data GM represented by the set is generated.
The grid map generation unit 33 gives a probability of whether or not each cell is occupied by an object, and changes the occupation probability of each cell based on the observation data. In addition, the grid map generation unit 33 sets a threshold for the occupation probability, and expresses the state of the environment as a map depending on whether the occupation probability is larger than the threshold.
In this specific example, since the resolution in the height direction does not depend on the cell resolution, the vertical resolution can be coarser than 1 cm.

グリッドマップ生成部33は、3次元グリッドで表される実空間S500における全ての単位グリッド(以下、セルと記す。)p(x,y,z)に対して次の処理を行う。
グリッドマップ生成部33は、撮像画像内に像として映し出された測定点(3次元グリッド)と観測中心(ステレオカメラ中心)とを結ぶ直線上には障害物が存在しないというアルゴリズムに基づいて3次元グリッドマップデータGMを作成及び/又は更新している。
図13は、3次元グリッドマップデータGMが観測結果に応じて更新される様子をy軸方向からの側面図として模式的に表したものである。ロボット1の視野領域(Field of View)にないセル(斜線のセル)は、まだ測定していないセルを表す。ロボット1によって測定されたセルは黒塗りで表され、測定点にあたるセルとの間のセルは、白塗りで表されている。ハッチング領域は、未確認領域であることを示している。
The grid map generation unit 33 performs the following processing on all unit grids (hereinafter referred to as cells) p (x, y, z) in the real space S500 represented by a three-dimensional grid.
The grid map generation unit 33 is based on an algorithm that there is no obstacle on a straight line connecting the measurement point (three-dimensional grid) projected as an image in the captured image and the observation center (stereo camera center). Grid map data GM is created and / or updated.
FIG. 13 schematically shows how the three-dimensional grid map data GM is updated according to the observation result as a side view from the y-axis direction. Cells that are not in the field of view of the robot 1 (hatched cells) represent cells that have not yet been measured. The cells measured by the robot 1 are shown in black, and the cells between the cells corresponding to the measurement points are shown in white. The hatched area indicates an unconfirmed area.

グリッドマップ生成部33は、上述のアルゴリズムに基づいて、測定対象点であるセルpとロボットのステレオカメラ11L,11Rとを結ぶ線分の間に存在するセルに対して、エンプティ(Empty)処理を行う。続いて、測定点pにあたるセルに対してオキュパイド(Occupied)処理を行う。
3次元グリッドマップデータGMは、セルCに対して障害物の存在確率(障害物によって占有されている確率)p(c)を保持しており、このエンプティ処理及びオキュパイド処理は、これら各セルに対して統計的な処理である。
エンプティ処理は、障害物の存在確率を低下させる処理であり、オキュパイド処理は障害物の存在確率を増加させる処理である。本具体例では、エンプティ処理及びオキュパイド処理の存在確率を算出する手法の一例として、ベイズの更新則を用いる。
Based on the algorithm described above, the grid map generation unit 33 performs an empty process on the cells existing between the line segments connecting the cell p that is the measurement target point and the stereo cameras 11L and 11R of the robot. Do. Subsequently, an occupied process is performed on the cell corresponding to the measurement point p.
The three-dimensional grid map data GM holds an obstacle existence probability (probability occupied by an obstacle) p (c) with respect to the cell C, and the empty process and the occupy process are performed on each cell. On the other hand, it is a statistical process.
The empty process is a process for reducing the existence probability of an obstacle, and the occupy process is a process for increasing the existence probability of an obstacle. In this specific example, Bayesian update rules are used as an example of a method for calculating the existence probability of the empty process and the occupy process.

グリッドマップ生成部33は、エンプティ処理において式(1)により占有確率を減少させ、オキュパイド処理において式(2)により占有確率を増加させる。
式(1)は、セルCの占有確率を示すp(c)が“占有”という条件下にあるセルCの確率を表しており、式(1)又は式(2)においてセルCが占有されているか又は占有されていないかを表す確率p(occ|・・・)、p(empty|・・・)は、予め決められた閾値thである。
The grid map generation unit 33 decreases the occupation probability by the equation (1) in the empty process and increases the occupation probability by the equation (2) in the occupide process.
Equation (1) represents the probability of cell C under the condition that p (c) indicating the occupation probability of cell C is “occupied”, and cell C is occupied in equation (1) or equation (2). The probabilities p (occ |...) And p (empty |...) That indicate whether or not they are occupied are predetermined threshold values th.

[数1]
p(c)←p(c|empty)=p(empty|c)p(c)/{p(empty|c)p(c)+p(empty|c~)p(c~)}
…(1)
[Equation 1]
p (c) ← p (c | empty) = p (empty | c) p (c) / {p (empty | c) p (c) + p (empty | c ~) p (c ~)}
... (1)

[数2]
p(c)←p(c|occ)=p(occ|c)p(c)/{p(occ|c)p(c)+p(occ|c~)p(c~)}
…(2)
[Equation 2]
p (c) ← p (c | occ) = p (occ | c) p (c) / {p (occ | c) p (c) + p (occ | c ~) p (c ~)}
... (2)

このように障害物の存在確率が与えられた3次元グリッドマップデータGMが示す内容を図14に示す。本具体例では、3次元グリッドとして表される領域は、例えば、4メートル四方、水平解像度4センチ及び垂直解像度1センチを1セルとした3次元グリッドで表現されている。   The contents indicated by the three-dimensional grid map data GM given the obstacle existence probability are shown in FIG. In this specific example, the area represented as a three-dimensional grid is represented by a three-dimensional grid, for example, 4 meters square, with a horizontal resolution of 4 cm and a vertical resolution of 1 cm as one cell.

図15では、説明の便宜上、図6に示す実空間S500と同じ領域が3次元グリッドとして表されているが、実際のロボット1は、例えば1秒間に30回というように所定間隔毎に周囲の状態を取得していくため、ロボット1が移動している場合には、3次元グリッドとして表現される空間S500は、時々刻々と変化することになる。取得されたセルは、見えたところ1、見えないところ0.5とする。占有確率は、1秒間に30回測定するうちに徐々に更新されていく。   In FIG. 15, for convenience of explanation, the same area as the real space S500 shown in FIG. 6 is represented as a three-dimensional grid. However, the actual robot 1 has a surrounding area at predetermined intervals, for example, 30 times per second. In order to acquire the state, when the robot 1 is moving, the space S500 expressed as a three-dimensional grid changes every moment. The acquired cell is 1 when it is visible and 0.5 when it is not visible. The occupation probability is gradually updated while measuring 30 times per second.

グリッドマップ生成部33が生成する3次元グリッドマップデータGMは、例えば、3次元座標(x、y、z)の各セルについて、その占有確率OG(x、y、z)(=p(c))を示している。   The three-dimensional grid map data GM generated by the grid map generation unit 33 is, for example, the occupancy probability OG (x, y, z) (= p (c)) for each cell of three-dimensional coordinates (x, y, z). ).

以下、グリッドマップ生成部33によるフロア高さデータFHの生成処理を説明する。
グリッドマップ生成部33は、2次元高さ地図(2D Height Map)のセルに対して、3次元グリッドマップデータGMから得られるセルの占有確率データ(障害物存在確率データ)を用いてフロア高さデータFHを検証する。
Hereinafter, generation processing of floor height data FH by the grid map generation unit 33 will be described.
The grid map generation unit 33 uses the cell occupancy probability data (obstacle presence probability data) obtained from the three-dimensional grid map data GM for the cells of the two-dimensional height map (2D Height Map). Data FH is verified.

本具体例では、グリッドマップ生成部33において、フロア高さデータFHを、3次元グリッドマップデータGMを用いて生成する。
3次元グリッドマップデータGMは、幾何学的に測定点と観測中心(ステレオカメラ中心)とを結ぶ直線上には、障害物は存在しないというアルゴリズムに基づいて作成及び/又は更新される。
グリッドマップ生成部33は、フロア高さデータFHのセルの高さ情報を3次元グリッドのセルに対応付けしたときの占有確率を3次元グリッドのセルの占有確率を参照して更新する処理を行う。
In this specific example, the grid map generation unit 33 generates the floor height data FH using the three-dimensional grid map data GM.
The three-dimensional grid map data GM is created and / or updated based on an algorithm that there is no obstacle on a straight line that geometrically connects the measurement point and the observation center (stereo camera center).
The grid map generation unit 33 performs processing to update the occupation probability when the height information of the cell of the floor height data FH is associated with the cell of the three-dimensional grid with reference to the occupation probability of the cell of the three-dimensional grid. .

図16は、フロア高さデータFHを示す。
フロア高さデータFHは、矩形状格子で表される2次元グリッドの各セルに対して、高さ情報hの情報と無効フラグ(invalid Flag)とを保持している。
図16では、図6における平面PL501に対応するセルに高さh=30が、平面PL502に対応するセルに高さh=60が与えられている。また、このセルがロボット1には登行不可能な高さ情報をもっている場合には、無効フラグ(inv)が与えられる。
FIG. 16 shows the floor height data FH.
The floor height data FH holds height information h information and an invalid flag for each cell of a two-dimensional grid represented by a rectangular grid.
In FIG. 16, the height h = 30 is given to the cell corresponding to the plane PL501 in FIG. 6, and the height h = 60 is given to the cell corresponding to the plane PL502. If this cell has height information that the robot 1 cannot climb, an invalid flag (inv) is given.

フロア高さデータFHも3次元グリッドマップデータGMと同様に、例えば、4メートル四方、水平解像度4センチを1セルとした2次元グリッドで表現される。フロア高さデータFHでは、垂直方向の解像度は、考慮されておらず、各セルに対して高さ情報が割り当てられている。無効フラグとは、ロボット1に対して、障害物にあたることを示しているが、無効フラグを用意する代わりに、例えば、−10000などのように空間を表現するに非現実的な値を与えることで無効、すなわちロボット1に対する障害物であることを表してもよい。   Similarly to the three-dimensional grid map data GM, the floor height data FH is expressed by, for example, a two-dimensional grid having one cell of 4 meters square and a horizontal resolution of 4 cm. In the floor height data FH, the vertical resolution is not considered, and height information is assigned to each cell. The invalid flag indicates that the robot 1 is an obstacle, but instead of preparing the invalid flag, an unrealistic value is given to express the space, for example, −10000. May be invalid, that is, an obstacle to the robot 1.

図17は、グリッドマップ生成部33によるフロア高さデータFHの生成処理を説明するフローチャートである。
グリッドマップ生成部33は、対基準面高さ地図としてのフロア高さデータFHにおける高さ情報を取得し、この高さ情報を3次元グリッドマップデータGMの高さ座標に対応させ、対応した3次元グリッドのセルの占有確率が3次元グリッドにおいて障害物と認識するか否かを決めている閾値より大きいか否かを比較し、閾値より小さい場合、このセルは障害物でないと判断し、閾値より大きい場合、このセルは障害物であると判断し、対応する対基準面高さ地図の高さ情報を更新している。
FIG. 17 is a flowchart for describing generation processing of floor height data FH by the grid map generation unit 33.
The grid map generation unit 33 acquires the height information in the floor height data FH as the reference surface height map, and associates the height information with the height coordinates of the three-dimensional grid map data GM to correspond to the corresponding 3 Compare whether or not the occupation probability of a cell in the three-dimensional grid is larger than a threshold value that determines whether or not the object is recognized as an obstacle in the three-dimensional grid. If it is larger, this cell is determined to be an obstacle, and the height information of the corresponding height map for the reference plane is updated.

グリッドマップ生成部33は、全セル(x、y)に対してフロア高さデータFHを参照してグリッドの高さを取得する(ステップST11)。
高さ情報hに無効フラグが立っていた場合、処理を終了する(ステップST12;yes)。
The grid map generation unit 33 refers to the floor height data FH for all cells (x, y) and acquires the height of the grid (step ST11).
If the invalid flag is set in the height information h, the process is terminated (step ST12; yes).

一方、高さ情報hが有効であった場合、すなわち高さ情報hがあてはめられていた場合、高さ情報hを3次元グリッドに対応させて3次元グリッドにおけるインデックスkを求める(ステップST13)。続いて、3次元グリッド内のセル(x、y、z)の障害物の存在確率p(Cxyz)が3次元グリッドにおいて障害物と認識するか否かを決めている閾値thより大きいか否かを比較する(ステップST14)。   On the other hand, when the height information h is valid, that is, when the height information h is applied, the height information h is made to correspond to the three-dimensional grid to obtain an index k in the three-dimensional grid (step ST13). Subsequently, whether or not the obstacle existence probability p (Cxyz) of the cell (x, y, z) in the three-dimensional grid is larger than a threshold th that determines whether or not the obstacle is recognized in the three-dimensional grid. Are compared (step ST14).

閾値より小さい場合(ステップST14;no)、このセルは障害物でないと判断する。
このとき、グリッドマップ生成部33においてセル(x、y)を3次元グリッドマップデータGMを作成するアルゴリズムに基づいて更新する。閾値より大きい場合(ステップST14;yes)、このセルは障害物であると判断し処理を終了する。すなわち、この場合には、フロア高さデータFHの高さ情報hを更新しない。
If it is smaller than the threshold (step ST14; no), it is determined that this cell is not an obstacle.
At this time, the grid map generation unit 33 updates the cell (x, y) based on an algorithm for creating the three-dimensional grid map data GM. If it is larger than the threshold (step ST14; yes), it is determined that this cell is an obstacle, and the process is terminated. That is, in this case, the height information h of the floor height data FH is not updated.

以上の処理は、図13に示したように、グリッドのうち視野角領域に相当するセル領域
にのみ適用することで計算量の削減が可能となる。図13では、この視野角領域に相当するセル領域をバウンディングボックス(Bounding Box)と記している。
As shown in FIG. 13, the amount of calculation can be reduced by applying the above process only to the cell region corresponding to the viewing angle region in the grid. In FIG. 13, the cell region corresponding to this viewing angle region is described as a bounding box.

グリッドマップ生成部33は、平面検出部32による平面データS32と、3次元グリッドマップデータGMとからフロア高さデータFHを更新している。
ロボット1の視野領域にある計測空間内に含まれる全ての計測点(セル)pに対して、計測点pが属する平面が水平面であって、且つ計測点pに対応する3次元グリッドマップデータGMのセルの障害物存在確率が閾値thよりも高い場合に、計測点pに対応する高さ情報を更新する。
The grid map generation unit 33 updates the floor height data FH from the plane data S32 by the plane detection unit 32 and the three-dimensional grid map data GM.
For all measurement points (cells) p included in the measurement space in the visual field region of the robot 1, the plane to which the measurement point p belongs is a horizontal plane, and the three-dimensional grid map data GM corresponding to the measurement point p When the obstacle existence probability of the cell is higher than the threshold th, the height information corresponding to the measurement point p is updated.

グリッドマップ生成部33によるフロア高さデータFHの更新処理を図18に示す。
グリッドマップ生成部33は、まず、視野領域にある全計測点(セル)pに対して、計測点pが属する平面情報を取得する(ステップST21)。
平面情報としては、平面検出部32による平面検出結果である平面データS32を用いる。具体的には、計測点pが検出されたどの平面に属するかを表した平面ID(p_id)を取得し、このp_idが有効である場合には(ステップST22;yes)、このpidをキーとして検出された平面群のなかから計測点pが属する平面情報を検索する(ステップST23)。
The update processing of the floor height data FH by the grid map generation unit 33 is shown in FIG.
First, the grid map generation unit 33 acquires plane information to which the measurement point p belongs for all measurement points (cells) p in the visual field region (step ST21).
As the plane information, plane data S32 that is a plane detection result by the plane detector 32 is used. Specifically, a plane ID (p_id) representing which plane the measurement point p belongs to is acquired, and when this p_id is valid (step ST22; yes), this pid is used as a key. The plane information to which the measurement point p belongs is searched from the detected plane group (step ST23).

次に、グリッドマップ生成部33は、計測点pが属する平面が水平面であるかどうかを検証し、水平面でない場合(ステップST24;no)には終了する。一方、水平面である場合(ステップST24;yes)、計測点pに対応する3次元グリッドのセルの障害物存在確率を参照する(ステップST25)。
具体的には、グリッドマップ生成部33は、フロア高さデータFHにおける計測点pの位置情報(x,y,z)から3次元グリッドの位置情報としてのインデックス(i,j,k)を求め、このインデックスに基づいて3次元グリッドのセルを参照する。
インデックス(i,j,k)を求める処理において、本実施例では、各計測点のノイズの影響を低減するため、高さ情報hとして、計測点pの実計測高さではなく、計測点pが属する平面の高さ(平均化された高さ;plane.m_z)を利用している。勿論、計測点pの高さをそのまま利用してもよい。
Next, the grid map generation unit 33 verifies whether or not the plane to which the measurement point p belongs is a horizontal plane, and ends the process if it is not a horizontal plane (step ST24; no). On the other hand, when it is a horizontal plane (step ST24; yes), the obstacle existence probability of the cell of the three-dimensional grid corresponding to the measurement point p is referred (step ST25).
Specifically, the grid map generation unit 33 obtains an index (i, j, k) as position information of the three-dimensional grid from position information (x, y, z) of the measurement point p in the floor height data FH. Based on this index, a cell of the three-dimensional grid is referred to.
In the processing for obtaining the index (i, j, k), in this embodiment, in order to reduce the influence of noise at each measurement point, the height information h is not the actual measurement height of the measurement point p but the measurement point p. The height of the plane to which the file belongs (averaged height; plane.m_z) is used. Of course, the height of the measurement point p may be used as it is.

続いて、グリッドマップ生成部33は、計測点pに対応する高さ情報hを更新するか否かを決定する(ステップST26)。ここでは、計測点pに対応する3次元グリッドの占有確率が障害物が存在することを示す閾値thよりも大きい場合(ステップST26;yes)、フロア高さデータFHの対応するセル(i,j)を高さ情報hで更新する(ステップST27)。   Subsequently, the grid map generation unit 33 determines whether or not to update the height information h corresponding to the measurement point p (step ST26). Here, when the occupation probability of the three-dimensional grid corresponding to the measurement point p is larger than the threshold th indicating that an obstacle exists (step ST26; yes), the corresponding cell (i, j) of the floor height data FH. ) Is updated with the height information h (step ST27).

フロア高さデータFHにおけるセル(i,j)の更新則としては、幾つかの方法があげられる。例えば、上書き更新とする場合、計測された最大値を保持する場合等があげられる。上書き更新とする場合には、セル(i,j)の高さを取得されたhによって常に上書きする。また、最大値を保持する場合には、セル(i,j)の高さが今までの高さ情報hより低いとき、又はセル(i,j)に無効フラグが立っている場合にのみ、新しい値hで更新する。このほかに、今までの高さ情報hと新しい値との平均をとってもよい。   There are several methods for updating the cell (i, j) in the floor height data FH. For example, when overwriting is updated, the measured maximum value is held, and the like. In the case of overwriting update, the height of the cell (i, j) is always overwritten by the acquired h. When the maximum value is held, only when the height of the cell (i, j) is lower than the height information h so far, or when the invalid flag is set in the cell (i, j). Update with new value h. In addition, the average of the height information h so far and the new value may be taken.

図19は、この一連の処理によって作成された環境地図を表している。上述したように、フロア高さデータFHを3次元グリッドマップデータGMによって補完する。環境地図は、2次元グリッドのセルに対して高さ情報h又は障害物(obs)か否かがあてはめられたものになっている。   FIG. 19 shows an environment map created by this series of processing. As described above, the floor height data FH is complemented by the three-dimensional grid map data GM. In the environment map, whether or not the height information h or an obstacle (obs) is applied to the cells of the two-dimensional grid.

グリッドマップ生成部33が生成するフロア高さデータFHは、例えば、2次元座標(x、y)の各々について、そのフロア高さFloor(x,y)を示している。   The floor height data FH generated by the grid map generation unit 33 indicates, for example, the floor height Floor (x, y) for each of the two-dimensional coordinates (x, y).

[環境クラス分類部34]
環境クラス分類部34は、グリッドマップ生成部33から3次元グリッドマップデータGMおよびフロア高さデータFHを入力し、これらを基に、2次元セル(x,y)に対応する位置を、例えば、障害物、でこぼこ、トンネル、未知、フロア、階段、境界部のいずれかに分類した環境クラス分類データである変数env_type(x,y)を生成し、これをパス決定部35に出力する。
[Environmental Class Classification Unit 34]
The environment class classification unit 34 inputs the three-dimensional grid map data GM and the floor height data FH from the grid map generation unit 33, and based on these, the position corresponding to the two-dimensional cell (x, y), for example, Variable env_type (x, y), which is environmental class classification data classified into any one of an obstacle, bumpy, tunnel, unknown, floor, stairs, and boundary, is generated and output to the path determination unit 35.

環境クラス分類部34は、先ず、フロア高さデータFHを基に、2次元座標(x、y)のセル(x、y)のフロア高さFloor(x,y)を取得し、これをhfに代入する。
なお、フロア高さFloor(x,y)=−∞(inv)の場合には、フロアが無い、あるいはフロアではないことを示している。
次に、環境クラス分類部34は、2次元座標(x、y)上の「z>hf」を満たす3次元座標(x、y、z)の占有確率OG(x、y、z)を、3次元グリッドマップデータGMから取得する。
そして、環境クラス分類部34は、上記セル(x、y)上記取得した占有確率OG(x、y、z)のうち、しきい値Poccを超えるものを特定し、そのうち最も高いzを障害物の高さを示すObstacle(x,y,hf)とする。
そして、上記セル(x、y)の「z>hf」の全てのzにおいて、占有確率OG(x、y、z)が所定しきい値Pocc(例えば、0.8)を超えていない場合に、Obstacle(x,y,hf)=−∞(障害ではない)とする。
The environment class classification unit 34 first acquires the floor height Floor (x, y) of the cell (x, y) of the two-dimensional coordinates (x, y) based on the floor height data FH, and uses this to obtain hf Assign to.
Note that when the floor height Floor (x, y) = − ∞ (inv), there is no floor or no floor.
Next, the environment class classification unit 34 determines the occupation probability OG (x, y, z) of the three-dimensional coordinates (x, y, z) satisfying “z> hf” on the two-dimensional coordinates (x, y), Obtained from the three-dimensional grid map data GM.
Then, the environmental class classification unit 34 identifies the cell (x, y) and the acquired occupancy probability OG (x, y, z) that exceed the threshold Pocc, and determines the highest z among the obstacles. Obstacle (x, y, hf) indicating the height of.
When the occupation probability OG (x, y, z) does not exceed a predetermined threshold value Pocc (for example, 0.8) in all z of “z> hf” of the cell (x, y). , Obstable (x, y, hf) = − ∞ (not a failure).

また、環境クラス分類部34は、上記セル(x、y)の上記取得した占有確率OG(x、y、z)のうち、しきい値Poccを超えるものを特定し、そのうち最も低いzを天井の高さを示すCeiling(x,y,hf)とする。
そして、上記セル(x、y)の「z>hf」の全てのzにおいて、占有確率OG(x、y、z)が所定しきい値Pocc(例えば、0.8)を超えていない場合に、Ceiling(x,y,hf)=−∞(天井ではない)とする。
In addition, the environment class classification unit 34 identifies the acquired occupancy probability OG (x, y, z) of the cell (x, y) that exceeds the threshold value Pocc, and sets the lowest z as the ceiling. Let Ceiling (x, y, hf) indicate the height of.
When the occupation probability OG (x, y, z) does not exceed a predetermined threshold value Pocc (for example, 0.8) in all z of “z> hf” of the cell (x, y). , Ceiling (x, y, hf) = − ∞ (not the ceiling).

また、環境クラス分類部34は、フロア高さデータFHが示す上記セル(x、y)のフロア高さFloor(x,y)と、当該セルに隣接する2次元座標(x’、y’)の隣接セル(x’、y’)のフロア高さFloor(x’,y’)との差分の絶対値の最大値をΔh(x、y)として算出する。   The environment class classification unit 34 also includes the floor height Floor (x, y) of the cell (x, y) indicated by the floor height data FH and the two-dimensional coordinates (x ′, y ′) adjacent to the cell. The maximum absolute value of the difference from the floor height Floor (x ′, y ′) of the adjacent cell (x ′, y ′) is calculated as Δh (x, y).

図20は、環境クラス分類部34による各セル(x、y)の環境クラス分類処理を説明するためのフローチャートである。
先ず、環境クラス分類部34は、上述したように、グリッドマップ生成部33から入力した3次元グリッドマップデータGMおよびフロア高さデータFHを基に、各セル(x、y)の上記フロア高さFloor(x,y)、上記Obstacle(x,y,hf)、Ceiling(x,y,hf)をそれぞれ取得あるいは生成し、それぞれを変数f,o,cに代入する(ステップST41)。
FIG. 20 is a flowchart for explaining the environment class classification process of each cell (x, y) by the environment class classification unit 34.
First, the environment class classification unit 34, as described above, based on the three-dimensional grid map data GM and the floor height data FH input from the grid map generation unit 33, the floor height of each cell (x, y). Floor (x, y), Obstable (x, y, hf), and Ceiling (x, y, hf) are acquired or generated, respectively, and substituted for variables f, o, and c (step ST41).

次に、環境クラス分類部34は、「変数o>f」の条件を満たすか否かを判断し、満たすと判断するとステップST43に進み、そうでない場合にはステップST51に進む(ステップST42)。
ここで、条件「変数o>f」を満たさない場合(ステップST51に進む場合)は、例えば、「Obstacle(x,y,hf)=−∞(障害ではない)」と設定された場合である。
Next, the environment class classification unit 34 determines whether or not the condition of “variable o> f” is satisfied. If it is determined that the condition is satisfied, the process proceeds to step ST43. If not, the process proceeds to step ST51 (step ST42).
Here, when the condition “variable o> f” is not satisfied (when the process proceeds to step ST51), for example, “Obscale (x, y, hf) = − ∞ (not a failure)” is set. .

次に、環境クラス分類部34は、「変数fがinv(無効)ではない」且つ「c>f+d_tunnel」の条件を満たすか否かを判断し(ステップST43)、満たすと判断すると、セル(x、y)はトンネルであると判定し(ステップST44)、そうでない場合にはステップST45に進む。
ここで、「d_tunnel」は、ロボット1が、天井下において這いながら走行可能な最小高さを示している。すなわち、トンネル内の最小高さを示している。
Next, the environment class classification unit 34 determines whether or not the condition “the variable f is not inv (invalid)” and “c> f + d_tunnel” is satisfied (step ST43). , Y) is determined to be a tunnel (step ST44), and if not, the process proceeds to step ST45.
Here, “d_tunnel” indicates the minimum height at which the robot 1 can travel while scooping under the ceiling. That is, it shows the minimum height in the tunnel.

そして、環境クラス分類部34は、「変数oが所定のしきい値を超えていない」という条件を満たすか否かを判断し、当該条件を満たすと判断すると、セル(x,y)は荒れた面(clutter)であると判定する(ステップST47)。
ここで、「変数oが所定のしきい値を超えていない」という条件は、例えば、変数oが示す障害物の高さが、ロボット1が乗り越えられた程度に小さい場合に満たされる。
一方、環境クラス分類部34は、「変数oが所定のしきい値を超えていない」という条件を満たさないと判断すると、セル(x,y)は障害物(obstacle)であると判定する(ステップST46)。
なお、上記荒れた面は、ロボット1が簡単に乗り越えることができる程度の障害しかない面を意味している。
また、上記障害物は、ロボット1が走行できない程度に大きい障害物を意味している。
Then, the environment class classification unit 34 determines whether or not the condition that “the variable o does not exceed a predetermined threshold” is satisfied, and if it is determined that the condition is satisfied, the cell (x, y) is rough. It is determined that the surface is a clutter (step ST47).
Here, the condition that the variable o does not exceed a predetermined threshold is satisfied, for example, when the height of the obstacle indicated by the variable o is small enough to get over the robot 1.
On the other hand, if the environment class classification unit 34 determines that the condition “the variable o does not exceed the predetermined threshold” is not satisfied, the cell (x, y) is determined to be an obstacle (obstacle) ( Step ST46).
The rough surface means a surface having only an obstacle that the robot 1 can easily get over.
The obstacle means an obstacle that is large enough that the robot 1 cannot travel.

環境クラス分類部34は、ステップST51において、変数fが無効(inv)であるか否かを判断し(ステップST51)、無効であると判断するとセル(x、y)は未知(unknown)であると判断し(ステップST52)、無効ではないと判断するとステップST53に進む。   In step ST51, the environment class classification unit 34 determines whether or not the variable f is invalid (inv) (step ST51). If it is determined that the variable f is invalid, the cell (x, y) is unknown (unknown). (Step ST52), and if it is not invalid, the process proceeds to step ST53.

環境クラス分類部34は、ステップST53において、前述したように、セル(x、y)のフロア高さFloor(x,y)と、当該セルに隣接する2次元座標(x’、y’)の隣接セル(x’、y’)のフロア高さFloor(x’,y’)との差分の絶対値の最大値をΔh(x、y)として算出する。そして、環境クラス分類部34は、変数dに上記算出したΔh(x、y)を代入する(ステップST52)。
次に、環境クラス分類部34は、条件「d<d_step」を満たすか否かを判断し、満たすと判断すると、セル(x、y)はフロア(floor)であると判定し(ステップST55)、そうでない場合にはステップST56に進む。
ここで、「d_step」は、ロボット1が通常歩行できる段差の最大高さを示し、予め設定される。
また、フロアは、ロボット1が容易に通常歩行できる平面である。
In step ST53, as described above, the environmental class classification unit 34 calculates the floor height Floor (x, y) of the cell (x, y) and the two-dimensional coordinates (x ′, y ′) adjacent to the cell. The maximum absolute value of the difference from the floor height Floor (x ′, y ′) of the adjacent cell (x ′, y ′) is calculated as Δh (x, y). Then, the environment class classification unit 34 substitutes Δh (x, y) calculated above for the variable d (step ST52).
Next, the environment class classification unit 34 determines whether or not the condition “d <d_step” is satisfied, and if it is determined that the condition is satisfied, the cell (x, y) is determined to be a floor (step ST55). If not, the process proceeds to step ST56.
Here, “d_step” indicates the maximum height of the step where the robot 1 can normally walk, and is set in advance.
The floor is a plane on which the robot 1 can easily walk normally.

環境クラス分類部34は、ステップST54において、条件「d<d_stairs」を満たすか否かを判断し、満たすと判断すると、セル(x、y)は階段(stairs)であると判定し(ステップST57)、そうでない場合にはセル(x,y)は境界部(border)であると判定する(ステップST58)。
ここで、「d_stairs」は、ロボット1が階段上り歩行可能な段差の高さの最大値を示し、予め設定される。
In step ST54, the environmental class classification unit 34 determines whether or not the condition “d <d_stays” is satisfied. If the environmental class classification unit 34 determines that the condition “d <d_stays” is satisfied, it determines that the cell (x, y) is a stairs (step ST57). Otherwise, it is determined that the cell (x, y) is a border (step ST58).
Here, “d_stays” indicates the maximum value of the height of the step where the robot 1 can walk up the stairs, and is set in advance.

環境クラス分類部34による上述した処理により、3次元座標(x,y,z)で規定されるセルの状態が、例えば、図21に示すように分類(判定)される。
環境クラス分類部34は、上述したように、全セル(x,y)について判定した状態の結果を変数env_type(x,y)に格納し、これをパス決定部36に出力する。
なお、環境クラス分類部34は、変数env_type(x,y)をパス決定部36に出力する前に、所定のメモリ(例えば、図4に示すRAR1312や外部記憶装置314)に書き込み、それを読み出してパス決定部36に出力する。
By the above-described processing by the environment class classification unit 34, the cell state defined by the three-dimensional coordinates (x, y, z) is classified (determined) as shown in FIG. 21, for example.
As described above, the environment class classification unit 34 stores the result of the state determined for all cells (x, y) in the variable env_type (x, y), and outputs this to the path determination unit 36.
The environment class classification unit 34 writes the variable env_type (x, y) to a predetermined memory (for example, the RAR 1312 or the external storage device 314 shown in FIG. 4) and reads it before outputting it to the path determination unit 36. To the path determination unit 36.

なお、上述した例では、セル(x、y)の状態として、floor、obstacle,unknown,stairs,border,tunnel,clutterを例示したが、それ以外にも、環境クラス分類部34は、障害物が接近した狭い領域を意味するnarrow、傾斜面を意味するramp、人間等を意味するhuman、階段を意味するladder、通常のドアを意味するdoor、エレベータを意味するelevator、エスカレータを意味するescalatorなどのその他の状態を判定してもよい。   In the example described above, the state of the cell (x, y) is exemplified as floor, obstable, unknown, stays, border, tunnel, and clutter. However, in addition to the above, the environment class classification unit 34 includes an obstacle. Narrow, which means an approaching narrow area, ramp, which means an inclined surface, human, which means human, etc., ladder, which means stairs, door, which means ordinary door, elevator, which means elevator, escalator, which means escalator, etc. Other states may be determined.

[動作機能部]
CPU15は、例えば、デフォルトとして、通常走行処理部35_1、階段走行処理部35_2、注意走行処理部35_3、這動作処理部35_4、ステップオーバ処理部35_5、よじ登り/ジャンプ処理部35_6を、例えば、プログラムを実行して実現する。
上記処理部35_1〜35_6の各々には、例えば、(name、info,types,cost,sensors,excuter)という属性データが割り当てられている。
nameは、その処理部(モジュール)の名前を示す。
infoは、その処理部の機能の記述、例えば、プログラムコードを示す。
typesは、その処理部によって対応可能なセルの状態を示す。
costは、ロボット1が移動する最適パス(経路)を決定する際に、その処理部の処理に割り当てるコストを示す。当該コストは、その処理部の制御による動作をロボット1が行った場合に、その位置を通過するのに要する時間に比例した値を持つ。
sensorsは、その処理部の処理に入力として必要なセンサを示す。
excuteは、その処理部の処理を実行するシステム(ハードウェア)を示す。
[Operation function section]
For example, the CPU 15 sets, as a default, a normal travel processing unit 35_1, a staircase travel processing unit 35_2, a caution travel processing unit 35_3, a saddle motion processing unit 35_4, a step over processing unit 35_5, a climbing / jump processing unit 35_6, and a program, for example. Run to achieve.
For example, attribute data (name, info, types, cost, sensors, excuter) is assigned to each of the processing units 35_1 to 35_6.
“name” indicates the name of the processing unit (module).
info indicates a description of the function of the processing unit, for example, a program code.
“types” indicates a state of a cell that can be handled by the processing unit.
“cost” indicates the cost assigned to the processing of the processing unit when determining the optimum path (route) for the robot 1 to move. The cost has a value proportional to the time required to pass the position when the robot 1 performs an operation under the control of the processing unit.
Sensors indicates a sensor necessary as an input for processing of the processing unit.
Execute indicates a system (hardware) that executes the processing of the processing unit.

通常走行処理部35_1は、例えば、ロボット1が平坦なフロアを2足歩行する一連の動作を動き制御部37に指示する処理を行う。
階段走行処理部35_2は、例えば、ロボット1が階段を2足歩行する一連の動作を動き制御部37に指示する処理を行う。
注意走行処理部35_3は、例えば、ロボット1がセンサ群17からの検出信号を基に表面状態を確認しながら、ゆっくりとした動作で慎重に歩行する一連の動作を動き制御部37に指示する処理を行う。
這動作処理部35_4は、例えば、高い障害物がある場合に、ロボット1が腰を屈めて頭を避けて歩いたり、膝をついて歩いたり、四足で這いつくばって歩く一連の這動作を制御する。
ステップオーバ処理部35_5は、ロボット1が小さい障害物を跨いで移動する一連の動作を動き制御部37に指示する。
よじ登り/ジャンプ処理部35_6は、ロボット1が障害物を手を利用してよじ登ったり、境界部をジャンプしたりする一連の動作を動き制御部37に指示する。
For example, the normal travel processing unit 35_1 performs a process of instructing the motion control unit 37 to perform a series of operations in which the robot 1 walks two legs on a flat floor.
The staircase traveling processing unit 35_2 performs, for example, processing for instructing the motion control unit 37 to perform a series of operations in which the robot 1 walks two legs on the stairs.
The attention travel processing unit 35_3 is a process for instructing the motion control unit 37, for example, a series of slowly walking motions while the robot 1 confirms the surface state based on the detection signals from the sensor group 17. I do.
For example, when there is a high obstacle, the heel motion processing unit 35_4 controls a series of heel motions in which the robot 1 bends at the waist, walks around the head, walks with the knees, and crawls with four legs. .
The step over processing unit 35_5 instructs the motion control unit 37 to perform a series of operations in which the robot 1 moves across a small obstacle.
The climbing / jump processing unit 35_6 instructs the motion control unit 37 to perform a series of operations in which the robot 1 climbs an obstacle using a hand or jumps a boundary portion.

CPU15が実現する処理部としては、上述したものの他にも、横方向にゆっくり歩く動作(sideways)を規定する処理部、人間と会話をする動作(dialog)を規定する処理部、障害物を移動する動作(manupulate)を規定する処理部、ドアを開ける動作(open door)を規定する処理部、傾斜面を移動する動作(slide)を規定する処理部、エレベータを使う動作(use elevator)を規定する処理部、エスカレータを使う動作(use escalator)を規定する処理部などがある。   As the processing unit realized by the CPU 15, in addition to the processing unit described above, a processing unit that prescribes a slowly walking operation (sideways), a processing unit that prescribes an operation (dialog) for talking with a human, and moving an obstacle Stipulates a processing unit that defines the operation to be performed (manupulate), a processing unit that defines the operation to open the door (open door), a processing unit that defines the operation to move the inclined surface (slide), and an operation that uses the elevator (use elevator) And a processing unit that defines an operation using a escalator (use escalator).

CPU15は、上述した処理部のうち、何れかを予めデフォルトとして備え、それらはユーザからの指示などにより削除可能である。
また、CPU15は、デフォルトとして備えた処理部に加えて、新たな処理部を追加可能である。
The CPU 15 includes any of the processing units described above as defaults, and these can be deleted by an instruction from the user.
Further, the CPU 15 can add a new processing unit in addition to the processing unit provided as a default.

[パス決定部36]
パス決定部36は、環境クラス分類部34から入力した、全セル(x,y)について判定した状態の結果を示す変数env_type(x,y)と、上述した利用可能な動作機能部のリストとに基づいて、ロボット1が現在地から目的地に移動する最適なパスを決定する。
また、パス決定部36は、利用可能な動作機能部のリストを常時更新する。
また、パス決定部36は、上記決定したパスとロボット1の移動状況に基づいて、適切な処理部を順次選択し、ロボット1の動作を制御させる。
[Path determination unit 36]
The path determination unit 36 receives the variable env_type (x, y) that is input from the environment class classification unit 34 and indicates the result of the determination for all the cells (x, y), and the list of available operation function units described above. Based on the above, the optimal path for the robot 1 to move from the current location to the destination is determined.
The path determination unit 36 constantly updates the list of available operation function units.
In addition, the path determination unit 36 sequentially selects appropriate processing units based on the determined path and the movement status of the robot 1 to control the operation of the robot 1.

先ず、パス決定部36による最適パスの決定処理を説明する。
図22は、図5に示すパス決定部36による最適パスの決定処理を説明するためのフローチャートである。
パス決定部36は、利用可能機能リストを参照して、利用可能な処理部を特定する(ステップST61)。
本実施形態では、一例として、図5に示すように、利用可能な処理部が、通常走行処理部35_1、階段走行処理部35_2、注意走行処理部35_3、這動作処理部35_4、ステップオーバ処理部35_5、並びによじ登り/ジャンプ処理部35_6である場合を説明する。
First, the optimum path determination process by the path determination unit 36 will be described.
FIG. 22 is a flowchart for explaining optimum path determination processing by the path determination unit 36 shown in FIG.
The path determination unit 36 refers to the available function list and identifies an available processing unit (step ST61).
In this embodiment, as an example, as illustrated in FIG. 5, usable processing units are a normal traveling processing unit 35_1, a staircase traveling processing unit 35_2, a caution traveling processing unit 35_3, a saddle movement processing unit 35_4, and a step over processing unit. The case of 35_5 and the climbing / jump processing unit 35_6 will be described.

次に、パス決定部36は、環境クラス分類部34から入力した変数env_type(x,y)を基に、ロボット1の現在位置から目標位置に達する複数のパス(経路)を特定する(ステップST62)。   Next, the path determination unit 36 specifies a plurality of paths (routes) reaching the target position from the current position of the robot 1 based on the variable env_type (x, y) input from the environment class classification unit 34 (step ST62). ).

次に、パス決定部36は、ステップST62で特定した複数のパスの各々について、そのパス上の座標(x、y)と、その変数env_type(x,y)が示す状態と、その状態を移動するロボット1の機能部に割り当てられた上記コストcostとを基に、コストを算出する(ステップST63)。
次に、パス決定部36は、ステップST62で特定した複数のパスのうち、ステップST63で算出したコストが最小のパスを決定する(ステップST64)。
具体的には、パス決定部36は、上記複数のパスの各々について、当該パス上の座標(x,y)に対応する上記コストcostの総和を計算し、その総和が最小のパスを決定する。
Next, the path determination unit 36 moves the state indicated by the coordinates (x, y) on the path, the variable env_type (x, y), and the state of each of the plurality of paths specified in step ST62. The cost is calculated based on the cost cost assigned to the function unit of the robot 1 (step ST63).
Next, the path determination unit 36 determines the path with the lowest cost calculated in step ST63 among the plurality of paths identified in step ST62 (step ST64).
Specifically, the path determination unit 36 calculates, for each of the plurality of paths, the sum of the cost costs corresponding to the coordinates (x, y) on the path, and determines the path with the minimum sum. .

以下、パス決定部36による利用可能機能リストの更新処理を説明する。
図23は、図5に示すパス決定部36による利用可能機能リスト更新処理を説明するためのフローチャートである。
パス決定部36は、ロボット1の動作を規定する新たな処理部(機能)が追加されたか否かを判断し(ステップST61)、追加されたと判断するとステップST62に進み、そうでない場合にはステップST63に進む。
パス決定部36は、利用可能機能リストに、新たに追加された機能(処理部)のエントリを追加する(ステップST62)。
ここで、ロボット1のCPU15への上記機能の追加は、プログラムモジュールの追加や、あるいは専用ハードウェアの追加によって実現される。
Hereinafter, the update process of the available function list by the path determination unit 36 will be described.
FIG. 23 is a flowchart for explaining an available function list update process by the path determination unit 36 shown in FIG.
The path determination unit 36 determines whether or not a new processing unit (function) that defines the operation of the robot 1 has been added (step ST61). If it is determined that it has been added, the process proceeds to step ST62. Proceed to ST63.
The path determination unit 36 adds an entry for the newly added function (processing unit) to the available function list (step ST62).
Here, the addition of the above functions to the CPU 15 of the robot 1 is realized by the addition of a program module or the addition of dedicated hardware.

パス決定部36は、利用可能機能リストのエントリとなっている機能が削除されたか、あるいは、故障したかを判断し(ステップST63)、そうであると判断するとステップST64に進み、そうではないと判断するとステップST61に戻る。
パス決定部36は、利用可能機能リストから、上記削除あるいは故障した機能のエントリを削除する(ステップST64)。
The path determination unit 36 determines whether the function that is an entry in the available function list has been deleted or has failed (step ST63). If it is determined to be, the process proceeds to step ST64. If it judges, it will return to step ST61.
The path determination unit 36 deletes the entry of the deleted or failed function from the available function list (step ST64).

以下、パス決定部36による処理部の選択処理を説明する。
図24および図25は、図5に示すパス決定部36による処理部の選択処理を説明するためのフローチャートである。
パス決定部36は、動き制御部37の制御の進行状況、CCDカメラ10R,10Lの撮像結果、並びにセンサ群27からの検出信号の少なくとも一つに基づいて、ロボット1が次に移動するセル(x、y)を特定する(ステップST71)。
次に、パス決定部36は、ステップST71で特定したセル(x、y)の変数env_type(x,y)を変数tに代入する(ステップST72)。
Hereinafter, processing unit selection processing by the path determination unit 36 will be described.
24 and 25 are flowcharts for explaining processing unit selection processing by the path determination unit 36 shown in FIG.
The path determination unit 36 determines a cell (to which the robot 1 moves next) based on at least one of the control progress of the motion control unit 37, the imaging results of the CCD cameras 10R and 10L, and the detection signal from the sensor group 27. x, y) is specified (step ST71).
Next, the path determination unit 36 substitutes the variable env_type (x, y) of the cell (x, y) specified in step ST71 for the variable t (step ST72).

次に、パス決定部36は、変数tがfloorを示すか否かを判断し(ステップST73)、floorを示す場合に通常走行処理部35_1に対して動作指示を出力し(ステップST74)、そうでない場合にステップST75に進む。
ステップST74において、動き制御部37が、通常走行処理部35_1からの指示に基づいて、ロボット1に通常走行動作を行わせるようにアクチュエータ群16を制御する。
Next, the path determination unit 36 determines whether or not the variable t indicates floor (step ST73). If the variable t indicates floor, the path determination unit 36 outputs an operation instruction to the normal travel processing unit 35_1 (step ST74). If not, the process proceeds to step ST75.
In step ST74, the motion control unit 37 controls the actuator group 16 to cause the robot 1 to perform a normal traveling operation based on an instruction from the normal traveling processing unit 35_1.

次に、パス決定部36は、変数tがstairsを示すか否かを判断し(ステップST75)、stairsを示す場合に階段走行処理部35_2に対して動作指示を出力し(ステップST76)、そうでない場合にステップST77に進む。
ステップST76において、動き制御部37が、階段走行処理部35_2からの指示に基づいて、ロボット1に階段走行動作を行わせるようにアクチュエータ群16を制御する。
Next, the path determination unit 36 determines whether or not the variable t indicates stairs (step ST75), and when it indicates stairs, outputs an operation instruction to the staircase travel processing unit 35_2 (step ST76). If not, the process proceeds to step ST77.
In step ST76, the motion control unit 37 controls the actuator group 16 to cause the robot 1 to perform the stair travel operation based on the instruction from the stair travel processing unit 35_2.

次に、パス決定部36は、変数tがunknownを示すか否かを判断し(ステップST77)、unknownを示す場合に注意走行処理部35_3に対して動作指示を出力し(ステップST78)、そうでない場合にステップST79に進む。
ステップST78において、動き制御部37が、注意走行処理部35_3からの指示に基づいて、ロボット1に注意走行動作を行わせるようにアクチュエータ群16を制御する。
Next, the path determination unit 36 determines whether or not the variable t indicates “unknown” (step ST77). If the variable t indicates “unknown”, the path determination unit 36 outputs an operation instruction to the attention traveling processing unit 35_3 (step ST78). If not, the process proceeds to step ST79.
In step ST78, the motion control unit 37 controls the actuator group 16 to cause the robot 1 to perform a caution driving operation based on an instruction from the caution driving processing unit 35_3.

次に、パス決定部36は、変数tがtunnelを示すか否かを判断し(ステップST79)、tunnelを示す場合に這動作処理部35_4に対して動作指示を出力し(ステップST80)、そうでない場合にステップST81に進む。
ステップST80において、動き制御部37が、這動作処理部35_4からの指示に基づいて、ロボット1に這動作を行わせるようにアクチュエータ群16を制御する。
Next, the path determination unit 36 determines whether or not the variable t indicates tunnel (step ST79). If the variable t indicates tunnel, the path determination unit 36 outputs an operation instruction to the heel motion processing unit 35_4 (step ST80). If not, the process proceeds to step ST81.
In step ST80, the motion control unit 37 controls the actuator group 16 to cause the robot 1 to perform the heel motion based on an instruction from the heel motion processing portion 35_4.

次に、パス決定部36は、変数tがclutterを示すか否かを判断し(ステップST81)、clutterを示す場合にステップオーバ処理部35_5に対して動作指示を出力し(ステップST82)、そうでない場合にステップST83に進む。
ステップST82において、動き制御部37が、ステップオーバ処理部35_5からの指示に基づいて、ロボット1にステップオーバ動作を行わせるようにアクチュエータ群16を制御する。
Next, the path determination unit 36 determines whether or not the variable t indicates “clutter” (step ST81), and outputs an operation instruction to the step over processing unit 35_5 when it indicates “clutter” (step ST82). If not, the process proceeds to step ST83.
In step ST82, the motion control unit 37 controls the actuator group 16 to cause the robot 1 to perform a step over operation based on an instruction from the step over processing unit 35_5.

次に、パス決定部36は、変数tがborderを示すか否かを判断し(ステップST83)、borderを示す場合によじ登り/ジャンプ処理部35_6に対して動作指示を出力し(ステップST84)、そうでない場合にステップST85に進む。
ステップST84において、動き制御部37が、よじ登り/ジャンプ処理部35_6からの指示に基づいて、ロボット1によじ登り動作あるいはジャンプ動作を行わせるようにアクチュエータ群16を制御する。
Next, the path determination unit 36 determines whether or not the variable t indicates “border” (step ST83), and outputs an operation instruction to the climb / jump processing unit 35_6 when “border” is indicated (step ST84). Otherwise, the process proceeds to step ST85.
In step ST84, the motion control unit 37 controls the actuator group 16 so that the robot 1 performs a climbing operation or a jumping operation based on an instruction from the climbing / jump processing unit 35_6.

次に、パス決定部36は、動き制御部37の制御の進行状況、CCDカメラ10R,10Lの撮像結果、並びにセンサ群27からの検出信号の少なくとも一つに基づいて、目的地に到達したか否かを判断し(ステップST85)、目的地に到達したと判断すると処理を終了し、そうでない場合にはステップST71に戻る。   Next, whether the path determination unit 36 has reached the destination based on the control progress of the motion control unit 37, the imaging results of the CCD cameras 10R and 10L, and the detection signal from the sensor group 27. It is determined whether or not (step ST85), and if it is determined that the destination has been reached, the process ends. If not, the process returns to step ST71.

パス決定部36は、例えば、図26に示すように、領域AR1,AR3,AR5はfloorであり通常走行処理部35_1に制御を行わせ、領域AR2はstairsであり階段走行処理部35_2に制御を行わせ、領域AR4は境界部でありよじ登り/ジャンプ処理部35_6に制御を行わせ、領域AR6はunknownであり注意走行処理部35_3に制御を行わせる。
また、パス決定部36は、例えば、図27に示すように、ロボット1の現在位置(Robot)から目的地(Goal)までの最適パスを決定する。
For example, as shown in FIG. 26, the path determination unit 36 has the areas AR1, AR3, and AR5 floor and controls the normal travel processing unit 35_1, and the area AR2 is stails and controls the staircase travel processing unit 35_2. The area AR4 is a boundary and the climbing / jump processing unit 35_6 performs control, and the area AR6 is unknown and the attention traveling processing unit 35_3 performs control.
In addition, for example, as illustrated in FIG. 27, the path determination unit 36 determines an optimal path from the current position (Robot) of the robot 1 to the destination (Goal).

[動き制御部37]
動き制御部37は、通常走行処理部35_1、階段走行処理部35_2、注意走行処理部35_3、這動作処理部35_4、ステップオーバ処理部35_5、よじ登り/ジャンプ処理部35_6などからの指示に基づいて、アクチュエータ群16を駆動し、所望の動作をロボット1に実行させる。
[Motion control unit 37]
The movement control unit 37 is based on instructions from the normal traveling processing unit 35_1, the staircase traveling processing unit 35_2, the caution traveling processing unit 35_3, the saddle movement processing unit 35_4, the step over processing unit 35_5, the climbing / jump processing unit 35_6, and the like. The actuator group 16 is driven to cause the robot 1 to execute a desired operation.

[ロボット1の全体動作]
以下、図1に示すロボット1の全体動作例を説明する。
CCDカメラ10R,10Lが、それぞれ撮像結果に応じた右画像データS10Rおよび左画像データS10Lをステレオ画像処理装置12に出力する。
そして、ステレオ画像処理装置12が、CCDカメラ10R,10Lから入力した右画像データS10Rと左画像データS10Lの視差情報(disparity data)(距離情報)を計算し、カラー画像データ(YUV:輝度Y、UV色差)S12a及び視差画像データ(YDR:輝度Y、視差D、信頼度R)S12bをフレーム毎に左右交互に算出し、これをCPU15(図5に示す距離データ生成部31)に出力する。
[Whole movement of robot 1]
Hereinafter, an example of the overall operation of the robot 1 shown in FIG. 1 will be described.
The CCD cameras 10R and 10L output the right image data S10R and the left image data S10L corresponding to the imaging results to the stereo image processing device 12, respectively.
Then, the stereo image processing device 12 calculates disparity information (distance information) between the right image data S10R and the left image data S10L input from the CCD cameras 10R and 10L, and color image data (YUV: luminance Y, UV color difference) S12a and parallax image data (YDR: luminance Y, parallax D, reliability R) S12b are calculated alternately on the left and right for each frame and output to the CPU 15 (distance data generating unit 31 shown in FIG. 5).

次に、距離データ生成部31が、ステレオ画像処理装置12から入力したカラー画像データS12a及び視差画像データS12bを基に、画像(環境)内の対象物についての3次元の距離データ(ステレオデータ)S31を生成し、これを平面検出部32およびグリッドマップ生成部33に出力する。
次に、平面検出部32は、距離データ生成部31から入力した距離データS31から環境内に存在する複数の平面を検出し、それを示す平面データS32をグリッドマップ生成部33に出力する。
次に、グリッドマップ生成部33が、距離データ生成部31から入力した距離データS31と平面検出部32から入力した上記平面検出データS32とに基づいて、3次元グリッドマップデータGMおよびフロア高さデータFHを生成し、これらを環境クラス分類部34に出力する。
Next, the distance data generation unit 31 uses the color image data S12a and the parallax image data S12b input from the stereo image processing device 12 to provide three-dimensional distance data (stereo data) for the object in the image (environment). S31 is generated and output to the plane detection unit 32 and the grid map generation unit 33.
Next, the plane detection unit 32 detects a plurality of planes existing in the environment from the distance data S31 input from the distance data generation unit 31, and outputs the plane data S32 indicating them to the grid map generation unit 33.
Next, based on the distance data S31 input from the distance data generation unit 31 and the plane detection data S32 input from the plane detection unit 32, the grid map generation unit 33 performs 3D grid map data GM and floor height data. FHs are generated and output to the environment class classification unit 34.

次に、環境クラス分類部34が、グリッドマップ生成部33から3次元グリッドマップデータGMおよびフロア高さデータFHを入力し、これらを基に、2次元セル(x,y)に対応する位置を、例えば、障害物、でこぼこ、トンネル、未知、フロア、階段、境界部のいずれかに分類した環境クラス分類データである変数env_type(x,y)を生成し、これをパス決定部35に出力する。
次に、パス決定部36が、環境クラス分類部34から入力した、全セル(x,y)について判定した状態の結果を示す変数env_type(x,y)と、上述した利用可能な動作機能部のリストとに基づいて、ロボット1が現在地から目的地に移動する最適なパスを決定する。
また、パス決定部36は、利用可能な動作機能部のリストを常時更新する。
また、パス決定部36は、上記決定したパスとロボット1の移動状況に基づいて、適切な処理部35_1〜35_6を順次選択する。
そして、選択された処理部35_1〜35_6が動き制御部37に指示を出す。
次に、動き制御部37が、上記選択された処理部35_1〜35_6からの指示に基づいて、アクチュエータ群16を駆動し、所望の動作をロボット1に実行させる。
Next, the environment class classification unit 34 inputs the three-dimensional grid map data GM and the floor height data FH from the grid map generation unit 33, and based on these, the position corresponding to the two-dimensional cell (x, y) is determined. For example, a variable env_type (x, y), which is environment class classification data classified into any one of an obstacle, bumpy, tunnel, unknown, floor, stairs, and boundary, is generated and output to the path determination unit 35. .
Next, the variable env_type (x, y) indicating the result of the determination for all the cells (x, y) input from the environment class classification unit 34 by the path determination unit 36 and the above-described usable operation function units And the robot 1 determines an optimal path for the robot 1 to move from the current location to the destination.
The path determination unit 36 constantly updates the list of available operation function units.
Further, the path determination unit 36 sequentially selects appropriate processing units 35_1 to 35_6 based on the determined path and the movement status of the robot 1.
Then, the selected processing units 35_1 to 35_6 issue instructions to the motion control unit 37.
Next, the motion control unit 37 drives the actuator group 16 based on the instruction from the selected processing units 35_1 to 35_6, and causes the robot 1 to execute a desired operation.

以上説明したように、ロボット1では、図5等に示すように、CPU15が機能として利用可能な処理部35_1〜35_6等を特定し(図22に示すステップST61)、その利用な処理部を基に、目標位置までの複数のパスを動的に特定する(ステップST62)。
これにより、例えば、処理部35_1〜35_6あるいはそれによって制御されるアクチュエータ群16などの機械部位が故障した場合に、その故障した機能に対応した処理部による制御を利用しないで目標位置に達するパスを選択することができる。
また、新たな処理部を追加して利用可能にした場合に、その追加した処理部の機能を利用してロボット1が走行可能なパスを選択枠に入れることができる。
また、ロボット1は、それが位置する環境に応じて利用可能な処理部を動的に変更して最適パスを決定することも可能である。
また、ロボット1では、上記複数のパスの各々について、そのパス上の2次元座標の変数env_type(x,y)と、それに対応付けられたコスト(時間コスト)とを基に、コストの和を最小にするパスを選択するため、最短時間で到達できるパスを高い信頼性で選択できる。
As described above, in the robot 1, as shown in FIG. 5 and the like, the processing units 35_1 to 35_6 and the like that can be used as functions by the CPU 15 are identified (step ST61 shown in FIG. 22). In addition, a plurality of paths to the target position are dynamically specified (step ST62).
Thereby, for example, when a machine part such as the processing units 35_1 to 35_6 or the actuator group 16 controlled thereby fails, a path reaching the target position without using control by the processing unit corresponding to the failed function is obtained. You can choose.
Further, when a new processing unit is added and made available, a path that can be traveled by the robot 1 can be put in the selection frame by using the function of the added processing unit.
In addition, the robot 1 can determine the optimum path by dynamically changing the available processing unit according to the environment in which the robot 1 is located.
Further, in the robot 1, for each of the plurality of paths, a sum of costs is calculated based on a variable env_type (x, y) of a two-dimensional coordinate on the path and a cost (time cost) associated with the variable env_type (x, y). Since the path to be minimized is selected, a path that can be reached in the shortest time can be selected with high reliability.

また、ロボット1では、環境クラス分類部34において、3次元グリッドマップデータGMおよびフロア高さデータFHを基に、2次元座標(x、y)の各々についてその状態を分類した変数env_type(x,y)を生成する。
そして、パス決定部36において、ロボット1の移動過程において、ロボット1の2次元位置(x、y)に応じて、それに対応した上記状態を特定し、その状態に予め対応付けられた処理部35_1〜35_6を選択してロボット1の動作を駆動させる。
ロボット1では、上述したように、予め2次元座標(x、y)の状態を分類した変数env_type(x,y)を生成し、これを図4に示すRAM312などに記憶する。
これにより、ロボット1の動作時に、パス決定部36は、環境クラス分類部34から変数env_type(x,y)を読み出すだけで、ロボット1が次に移動する位置の状態を取得でき、それを基にロボット1の次の動作を短時間で決定できると共に、処理負荷を従来に比べて軽減できる。
また、ロボット1では、次元座標(x、y)の状態を分類した変数env_type(x,y)をRAM312などのメモリに記憶していれば十分であり、変数env_type(x,y)を生成後に、グリッドマップデータGMおよびフロア高さデータFHを保持する必要が無く、メモリを効率的に使用できる。
In the robot 1, the environment class classification unit 34 uses the variable env_type (x, y) that classifies the state of each of the two-dimensional coordinates (x, y) based on the three-dimensional grid map data GM and the floor height data FH. y) is generated.
Then, the path determination unit 36 identifies the state corresponding to the two-dimensional position (x, y) of the robot 1 during the movement process of the robot 1, and the processing unit 35_1 associated with the state in advance. ˜35_6 is selected to drive the operation of the robot 1.
As described above, the robot 1 generates a variable env_type (x, y) in which the state of the two-dimensional coordinates (x, y) is classified in advance, and stores this in the RAM 312 shown in FIG.
As a result, during the operation of the robot 1, the path determination unit 36 can acquire the state of the position at which the robot 1 will move next by simply reading the variable env_type (x, y) from the environment class classification unit 34. In addition, the next operation of the robot 1 can be determined in a short time, and the processing load can be reduced as compared with the prior art.
In the robot 1, it is sufficient to store the variable env_type (x, y) in which the state of the dimensional coordinates (x, y) is classified in a memory such as the RAM 312. After the variable env_type (x, y) is generated, Further, it is not necessary to hold the grid map data GM and the floor height data FH, and the memory can be used efficiently.

本発明は上述した実施形態には限定されない。
すなわち、当業者は、本発明の技術的範囲またはその均等の範囲内において、上述した実施形態の構成要素に関し、様々な変更、コンビネーション、サブコンビネーション、並びに代替を行ってもよい。
例えば、上述した実施形態では、本発明の移動体として、2足歩行のロボット1を例示したが、移動体として、例えば、車輪による移動体、あるいは1足や3足以上のロボットを用いてもよい。
The present invention is not limited to the embodiment described above.
That is, those skilled in the art may make various modifications, combinations, subcombinations, and alternatives regarding the components of the above-described embodiments within the technical scope of the present invention or an equivalent scope thereof.
For example, in the above-described embodiment, the bipedal walking robot 1 is illustrated as the moving body of the present invention. However, for example, a moving body using wheels or a robot having one or three legs or more may be used as the moving body. Good.

図1は、本発明の実施形態に係わるロボットの機能ブロック図である。FIG. 1 is a functional block diagram of a robot according to an embodiment of the present invention. 図2は、本発明の実施形態に係わるロボットの外観図である。FIG. 2 is an external view of the robot according to the embodiment of the present invention. 図3は、本発明の実施形態のロボットが具備する関節自由度構成を模式的に示す図である。FIG. 3 is a diagram schematically illustrating a joint degree-of-freedom configuration included in the robot according to the embodiment of the present invention. 図4は、本発明の実施形態に係わるロボットの制御システム構成を示す模式図である。FIG. 4 is a schematic diagram showing a configuration of a robot control system according to the embodiment of the present invention. 図5は、図1に示すCPUの機能ブロック図である。FIG. 5 is a functional block diagram of the CPU shown in FIG. 図6は、本発明の実施形態に係わるロボットによって認識される実空間を説明する模式図である。FIG. 6 is a schematic diagram for explaining a real space recognized by the robot according to the embodiment of the present invention. 図7は、本発明の実施形態に係わるロボットが外界を撮影している様子を示す模式図である。FIG. 7 is a schematic diagram showing a state in which the robot according to the embodiment of the present invention is photographing the outside world. 図8は、図5に示す平面検出部の機能ブロック図である。FIG. 8 is a functional block diagram of the plane detection unit shown in FIG. 図9は、図8に示す平面検出部が行う線分拡張法による平面検出方法を説明する図である。FIG. 9 is a diagram for explaining a plane detection method by a line segment expansion method performed by the plane detection unit shown in FIG. 図10は、線分拡張法による平面検出処理を示すフローチャートである。FIG. 10 is a flowchart showing plane detection processing by the line segment expansion method. 図11は、階段を示す模式図であって、(a)は階段を正面からみた図、(b)は階段を側面からみた図、(c)は階段を斜めからみた図である。11A and 11B are schematic diagrams showing the stairs, where FIG. 11A is a diagram of the stairs viewed from the front, FIG. 11B is a diagram of the stairs viewed from the side, and FIG. 11C is a diagram of the stairs viewed obliquely. 図12は、階段のほかの例を示す模式図であって、(a)は階段を正面からみた図、(b)は階段を側面からみた図、(c)は階段を斜めからみた図である。12A and 12B are schematic views showing other examples of stairs, where FIG. 12A is a view of the stairs viewed from the front, FIG. 12B is a view of the stairs viewed from the side, and FIG. is there. 図13は、3次元グリッドが観測結果に応じて更新される様子をy軸方向からみた模式図の側面図である。FIG. 13 is a side view of a schematic view of the state in which the three-dimensional grid is updated according to the observation result as seen from the y-axis direction. 図14は、テクスチャを付与する手段を有しているロボットを説明するための図である。FIG. 14 is a diagram for explaining a robot having means for applying a texture. 図15は、図6に示す実空間と同じ領域を表す3次元グリッドを説明する模式図である。FIG. 15 is a schematic diagram illustrating a three-dimensional grid that represents the same area as the real space illustrated in FIG. 6. 図16は、図6に示す空間の高さ地図を示す模式図である。FIG. 16 is a schematic diagram showing a height map of the space shown in FIG. 図17は、図5に示すグリッドマップ生成部によるフロア高さデータFHの生成処理を説明するフローチャートである。FIG. 17 is a flowchart for explaining the generation processing of the floor height data FH by the grid map generation unit shown in FIG. 図18は、図5に示すグリッドマップ生成部によるフロア高さデータFHの更新処理を説明するための図である。FIG. 18 is a diagram for explaining the process of updating the floor height data FH by the grid map generation unit shown in FIG. 図19は、図5に示す環境クラス分類部が生成したデータを説明するための図である。FIG. 19 is a diagram for explaining data generated by the environment class classification unit illustrated in FIG. 5. 図20は、図5に示す環境クラス分類部による各セル(x、y)の環境クラス分類処理を説明するためのフローチャートである。FIG. 20 is a flowchart for explaining environment class classification processing of each cell (x, y) by the environment class classification unit shown in FIG. 図21は、図5に示す環境クラス分類部の処理を説明するための図である。FIG. 21 is a diagram for explaining the processing of the environment class classification unit shown in FIG. 図22は、図5に示すパス決定部による最適パスの決定処理を説明するためのフローチャートである。FIG. 22 is a flowchart for explaining optimum path determination processing by the path determination unit shown in FIG. 図23は、図5に示すパス決定部による利用可能機能リスト更新処理を説明するためのフローチャートである。FIG. 23 is a flowchart for explaining the available function list update processing by the path determination unit shown in FIG. 図24は、図5に示すパス決定部による処理部の選択処理を説明するためのフローチャートである。FIG. 24 is a flowchart for explaining processing unit selection processing by the path determination unit shown in FIG. 図25は、図5に示すパス決定部による処理部の選択処理を説明するための図24の続きのフローチャートである。FIG. 25 is a flowchart continued from FIG. 24 for explaining processing unit selection processing by the path determination unit shown in FIG. 図26は、図5に示すパス決定部の処理の一例を説明するための図である。FIG. 26 is a diagram for explaining an example of processing of the path determination unit illustrated in FIG. 図27は、図5に示すパス決定部の処理の一例を説明するための図である。FIG. 27 is a diagram for explaining an example of processing of the path determination unit illustrated in FIG.

符号の説明Explanation of symbols

10L,10R…CCDカメラ、12…ステレオ画像処理装置、15…CPU、16…アクチュエータ群、17…センサ群、31…距離データ生成部、32…平面検出部、33…グリッドマップ生成部、34…環境クラス分類部、35_1…通常走行処理部、35_2…階段走行処理部、35_3…注意走行処理部、35_4…這動作処理部、35_5…ステップオーバ処理部、35_6…よじ登り/ジャンプ処理部、36…パス決定部、37…動き制御部
10L, 10R ... CCD camera, 12 ... stereo image processing device, 15 ... CPU, 16 ... actuator group, 17 ... sensor group, 31 ... distance data generation unit, 32 ... plane detection unit, 33 ... grid map generation unit, 34 ... Environmental class classification unit, 35_1 ... normal travel processing unit, 35_2 ... stair travel processing unit, 35_3 ... caution travel processing unit, 35_4 ... saddle motion processing unit, 35_5 ... step over processing unit, 35_6 ... climbing / jump processing unit, 36 ... Path determination unit, 37 ... motion control unit

Claims (11)

移動体が目標位置まで移動する動作を制御する移動体制御方法であって、
前記移動体の現在位置から前記目標位置までのパスの状態を検出する第1の工程と、
前記移動体が実行可能な複数の移動動作を特定する第2の工程と、
前記第1の工程で検出したパスの状態に基づいて、前記第2の工程で特定した前記移動体が実行可能な複数の種類の移動動作のうち、前記移動体の位置の状態に適合した移動動作を順次選択し、当該選択した移動動作を前記移動体が行うように制御する第3の工程と
を有する移動体制御方法。
A moving body control method for controlling movement of a moving body to a target position,
A first step of detecting a state of a path from the current position of the moving body to the target position;
A second step of identifying a plurality of movement operations that the movable body can execute;
Based on the state of the path detected in the first step, the movement suitable for the state of the position of the moving body among a plurality of types of moving operations that can be executed by the moving body specified in the second step And a third step of controlling the selected moving operation so that the moving body performs the selected moving operation.
前記移動体が実行可能な前記移動動作を追加または削除する第4の工程
をさらに有し、
前記第2の工程は、前記第4の工程で追加または削除された後の前記実行可能な移動動作を特定する
請求項1に記載の移動体制御方法。
A fourth step of adding or deleting the moving operation executable by the moving body,
The moving body control method according to claim 1, wherein the second step specifies the executable movement operation after being added or deleted in the fourth step.
前記第3の工程は、
前記移動体の現在位置から前記目標位置までの複数のパスの各々について、当該パスを前記移動体を走行した場合の走行コストの総和を計算し、当該総和を最小にする前記パスを、前記移動体が移動するパスとして選択する
請求項1に記載の移動体制御方法。
The third step includes
For each of a plurality of paths from the current position of the mobile body to the target position, the total of travel costs when traveling the mobile body on the path is calculated, and the path that minimizes the total is transferred to the path. The moving body control method according to claim 1, wherein the moving body is selected as a path along which the body moves.
前記第1の工程は、異なる複数の撮像位置からの撮像対象領域の撮像結果を基に、前記パス上の位置の状態を判定し、
前記第3の工程は、前記移動体の位置について前記判定した状態に予め対応付けられた移動動作を選択する
請求項1に記載の移動体制御方法。
The first step determines the state of the position on the path based on the imaging results of the imaging target regions from different imaging positions,
The moving body control method according to claim 1, wherein the third step selects a moving action previously associated with the determined state with respect to the position of the moving body.
前記第1の工程は、
撮像対象領域内に規定された各3次元グリッドの対象物による占有状態を示す3次元グリッドデータを生成し、
前記生成した3次元グリッドデータを基に、前記3次元グリッドの2次元位置の各々について、予め決められた複数の状態のうち何れの状態であるかを判定し、
当該判定した状態に応じて前記パスの状態を検出する
請求項1に記載の移動体制御方法。
The first step includes
Generating 3D grid data indicating the occupation state of each 3D grid object defined in the imaging target area;
Based on the generated three-dimensional grid data, for each of the two-dimensional positions of the three-dimensional grid, it is determined which of a plurality of predetermined states,
The moving body control method according to claim 1, wherein the state of the path is detected according to the determined state.
前記第1の工程は、前記2次元位置の各々が、前記移動体が移動できるフロアあるいは階段と、前記移動体が移動できない障害物との何れであるかを判定する
請求項5に記載の移動体制御方法。
The movement according to claim 5, wherein the first step determines whether each of the two-dimensional positions is a floor or a staircase on which the movable body can move and an obstacle on which the movable body cannot move. Body control method.
前記移動体は、2つの脚部がある人間型のロボットであり、
前記複数の種類の移動動作は、通常走行、階段走行、注意走行、這動作、ステップオーバ、よじ登り動作、並びにジャンプ動作のうち何れかである
請求項1に記載の移動体制御方法。
The moving body is a humanoid robot having two legs,
The moving body control method according to claim 1, wherein the plurality of types of movement operations are any one of normal travel, stair travel, caution travel, dredging operation, step over, climbing operation, and jump operation.
異なる複数の撮像位置からの撮像対象領域の撮像結果を生成する撮像手段と、
走行手段と、
前記撮像手段が生成した前記撮像結果を基に、前記移動体の現在位置から前記目標位置までのパスの状態を検出し、前記移動体が実行可能な複数の移動動作を特定し、前記検出したパスの状態に基づいて、前記第2の工程で特定した前記移動体が実行可能な複数の種類の移動動作のうち、前記移動体の位置の状態に適合した移動動作を順次選択し、当該選択した移動動作を前記移動体が行うように前記走行手段を制御する制御手段と
を有する移動体。
Imaging means for generating imaging results of imaging target regions from different imaging positions;
Traveling means;
Based on the imaging result generated by the imaging means, the state of the path from the current position of the moving body to the target position is detected, and a plurality of moving operations that can be executed by the moving body are identified and detected. Based on the state of the path, from among a plurality of types of moving operations that can be executed by the moving body specified in the second step, sequentially select a moving operation that matches the position state of the moving body, and perform the selection. And a control means for controlling the traveling means so that the moving body performs the moving operation.
前記制御手段は、前記移動体が実行可能な前記移動動作を追加または削除する
請求項8に記載の移動体。
The moving body according to claim 8, wherein the control unit adds or deletes the moving operation that can be executed by the moving body.
前記制御手段は、前記移動体の現在位置から前記目標位置までの複数のパスの各々について、当該パスを前記移動体を走行した場合の走行コストの総和を計算し、当該総和を最小にする前記パスを、前記移動体が移動するパスとして選択する
請求項8に記載の移動体。
The control means calculates, for each of a plurality of paths from the current position of the moving body to the target position, a sum of traveling costs when traveling on the path along the path, and minimizes the sum. The moving body according to claim 8, wherein a path is selected as a path along which the moving body moves.
前記走行手段は、2つの脚部であり、
人間型のロボットである
請求項8に記載の移動体。
The traveling means is two legs,
The moving body according to claim 8, which is a humanoid robot.
JP2005222179A 2005-07-29 2005-07-29 Moving body control method, and moving body Pending JP2007041657A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005222179A JP2007041657A (en) 2005-07-29 2005-07-29 Moving body control method, and moving body

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005222179A JP2007041657A (en) 2005-07-29 2005-07-29 Moving body control method, and moving body

Publications (1)

Publication Number Publication Date
JP2007041657A true JP2007041657A (en) 2007-02-15

Family

ID=37799609

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005222179A Pending JP2007041657A (en) 2005-07-29 2005-07-29 Moving body control method, and moving body

Country Status (1)

Country Link
JP (1) JP2007041657A (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010009236A (en) * 2008-06-25 2010-01-14 Toyota Central R&D Labs Inc Plane area estimation device and program
JP2014078254A (en) * 2009-08-31 2014-05-01 Neato Robotics Inc Method and apparatus for simultaneous localization and mapping of mobile robot environment
JP2018142316A (en) * 2017-02-28 2018-09-13 トヨタ自動車株式会社 Observability grid based autonomous environment search
JP2019053367A (en) * 2017-09-13 2019-04-04 株式会社アルファメディア Image processing device and movement support device
CN110941258A (en) * 2018-09-21 2020-03-31 日本电产株式会社 Control method and control system for mobile body
US10816974B2 (en) 2017-02-28 2020-10-27 Toyota Jidosha Kabushiki Kaisha Proactive acquisition of data for maintenance of appearance model by mobile robot
CN114243544A (en) * 2022-02-25 2022-03-25 国网辽宁省电力有限公司电力科学研究院 Robot-based GIS vertical cavity overhauling system and overhauling method

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010009236A (en) * 2008-06-25 2010-01-14 Toyota Central R&D Labs Inc Plane area estimation device and program
JP2014078254A (en) * 2009-08-31 2014-05-01 Neato Robotics Inc Method and apparatus for simultaneous localization and mapping of mobile robot environment
JP2018142316A (en) * 2017-02-28 2018-09-13 トヨタ自動車株式会社 Observability grid based autonomous environment search
US10754351B2 (en) 2017-02-28 2020-08-25 Toyota Jidosha Kabushiki Kaisha Observability grid-based autonomous environment search
US10816974B2 (en) 2017-02-28 2020-10-27 Toyota Jidosha Kabushiki Kaisha Proactive acquisition of data for maintenance of appearance model by mobile robot
JP2019053367A (en) * 2017-09-13 2019-04-04 株式会社アルファメディア Image processing device and movement support device
JP7101350B2 (en) 2017-09-13 2022-07-15 株式会社アルファメディア Image processing device and movement support device
CN110941258A (en) * 2018-09-21 2020-03-31 日本电产株式会社 Control method and control system for mobile body
CN114243544A (en) * 2022-02-25 2022-03-25 国网辽宁省电力有限公司电力科学研究院 Robot-based GIS vertical cavity overhauling system and overhauling method
CN114243544B (en) * 2022-02-25 2022-05-20 国网辽宁省电力有限公司电力科学研究院 Robot-based GIS vertical cavity overhauling system and overhauling method

Similar Documents

Publication Publication Date Title
JP2007041656A (en) Moving body control method, and moving body
JP4479372B2 (en) Environmental map creation method, environmental map creation device, and mobile robot device
JP3994950B2 (en) Environment recognition apparatus and method, path planning apparatus and method, and robot apparatus
JP4636016B2 (en) Plane detection apparatus, plane detection method, and robot apparatus equipped with plane detection apparatus
JP4618247B2 (en) Robot apparatus and operation control method thereof
JP2006239844A (en) Obstacle avoiding device, obstacle avoiding method, obstacle avoiding program and mobile robot device
JP2007041657A (en) Moving body control method, and moving body
CN112666939B (en) Robot path planning algorithm based on deep reinforcement learning
KR20210068446A (en) Terrain Awareness Step Planning System
US20040013295A1 (en) Obstacle recognition apparatus and method, obstacle recognition program, and mobile robot apparatus
CN114503043A (en) Restricted mobility mapping
JP2006205348A (en) Obstacle avoiding device, obstacle avoiding method, obstacle avoiding program, and movable robot device
CN112097769A (en) Homing pigeon brain-hippocampus-imitated unmanned aerial vehicle simultaneous positioning and mapping navigation system and method
CN115143964A (en) Four-footed robot autonomous navigation method based on 2.5D cost map
KR20200137943A (en) A method for estimating a location using multi-sensors and a robot implementing the same
Wahrmann et al. Vision-based 3d modeling of unknown dynamic environments for real-time humanoid navigation
Chignoli et al. Rapid and reliable quadruped motion planning with omnidirectional jumping
Gao et al. A vision-based irregular obstacle avoidance framework via deep reinforcement learning
Haddeler et al. Explore bravely: Wheeled-legged robots traverse in unknown rough environment
JP2008009999A (en) Plane extraction method, and device, program, and storage medium therefor, and imaging device
JP2007219645A (en) Data processing method, data processor, and program
JP7250571B2 (en) Inverted pendulum type robot
CN107970610B (en) Planning method and device for 3D scene vertical space flight route
KR20200143217A (en) How to update a map in Fusion Slam and a robot that implements it
Baek et al. A Mobile Robot Framework in Industrial Disaster for Human Rescue