JP5613114B2 - Distributed control system - Google Patents

Distributed control system Download PDF

Info

Publication number
JP5613114B2
JP5613114B2 JP2011144668A JP2011144668A JP5613114B2 JP 5613114 B2 JP5613114 B2 JP 5613114B2 JP 2011144668 A JP2011144668 A JP 2011144668A JP 2011144668 A JP2011144668 A JP 2011144668A JP 5613114 B2 JP5613114 B2 JP 5613114B2
Authority
JP
Japan
Prior art keywords
control
unit
address
sub
control 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.)
Active
Application number
JP2011144668A
Other languages
Japanese (ja)
Other versions
JP2013010165A (en
Inventor
雅樹 相原
雅樹 相原
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.)
Honda Motor Co Ltd
Original Assignee
Honda Motor Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Honda Motor Co Ltd filed Critical Honda Motor Co Ltd
Priority to JP2011144668A priority Critical patent/JP5613114B2/en
Publication of JP2013010165A publication Critical patent/JP2013010165A/en
Application granted granted Critical
Publication of JP5613114B2 publication Critical patent/JP5613114B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Manipulator (AREA)

Description

本発明は、ロボット等の移動体における分散制御システムに関する。   The present invention relates to a distributed control system in a moving body such as a robot.

ロボット等の移動体では、複数の制御対象(例えば、モータ、センサ等)の駆動を分散制御するために、移動体の制御のための演算処理機能を有する主制御ユニットと、主制御ユニットと制御データの通信を行い、主制御ユニットの演算処理結果に基づいて一以上の制御対象の駆動を制御する複数の副制御ユニットと、を備えるシステムが知られている(特許文献1参照)。   In a moving body such as a robot, in order to perform distributed control of driving of a plurality of control objects (for example, motors, sensors, etc.), a main control unit having an arithmetic processing function for controlling the moving body, a main control unit, and a control There is known a system including a plurality of sub-control units that perform data communication and control driving of one or more controlled objects based on a calculation processing result of a main control unit (see Patent Document 1).

特開2003−211380号公報(図4)Japanese Patent Laying-Open No. 2003-212380 (FIG. 4)

ロボット等の移動体では、仕様変更に伴い、制御対象としてのモータ、センサ等を追加したり取り外したりすることがある。しかし、特許文献1に記載されたシステムは、具体的な構成の開示がされておらず、制御対象又は副制御ユニットの増減に対応できるものではない。   In a moving body such as a robot, a motor, a sensor or the like as a control target may be added or removed in accordance with a specification change. However, the system described in Patent Document 1 does not disclose a specific configuration, and cannot cope with the increase or decrease of the control target or the sub control unit.

本発明は、前記事情に鑑みて創作されたものであり、移動体における制御対象又は副制御ユニットの増減に容易に対応可能な分散制御システムを提供することを課題とする。   This invention is created in view of the said situation, and makes it a subject to provide the distributed control system which can respond easily to increase / decrease in the control object or sub-control unit in a moving body.

前記課題を解決するため、本発明は、移動体に設けられた複数の制御対象を分散制御する分散制御システムであって、前記移動体の制御のための演算処理を行う主制御ユニットと、前記主制御ユニットと制御データの通信を行い、前記制御データに基づいて一以上の制御対象の駆動を制御する複数の副制御ユニットと、を備え、前記主制御ユニットは、前記複数の副制御ユニットに対応する前記制御対象と当該制御対象に付与されたアドレスとの関係が記憶された第一の記憶部と、各前記制御対象に関する個別制御データを前記アドレスの順に並べた前記制御データを生成する制御データ生成部と、前記制御データをブロードキャスト方式で送信する制御データ送信部と、を備え、前記副制御ユニットは、当該副制御ユニットに対応する前記制御対象の前記アドレスが記憶された第二の記憶部と、前記第二の記憶部に記憶された前記アドレスに基づいて、前記制御データに含まれる当該副制御ユニットに対応する前記制御対象に関する前記個別制御データを取得する個別制御データ取得部と、取得された前記個別制御データに基づいて、前記制御対象の駆動を制御する制御対象制御部と、を備えることを特徴とする。   In order to solve the above problems, the present invention provides a distributed control system that performs distributed control of a plurality of control objects provided in a moving body, the main control unit performing arithmetic processing for controlling the moving body, A plurality of sub-control units that communicate control data with the main control unit and control driving of one or more controlled objects based on the control data, and the main control unit includes the plurality of sub-control units. A first storage unit that stores the relationship between the corresponding control object and the address assigned to the control object, and control that generates the control data in which individual control data related to each control object is arranged in the order of the addresses A data generation unit, and a control data transmission unit that transmits the control data by a broadcast method, wherein the sub control unit corresponds to the sub control unit Based on the second storage unit storing the address of the control object and the address stored in the second storage unit, the control object corresponding to the sub-control unit included in the control data An individual control data acquisition unit that acquires individual control data, and a control target control unit that controls driving of the control target based on the acquired individual control data.

かかる構成によると、主制御ユニットから副制御ユニットへブロードキャスト送信される制御データに含まれる個別制御データにアドレスが付与されており、副制御ユニットが自身に接続されている制御対象のアドレスに基づいて必要な個別制御データのみを取得するので、分散制御システムは、移動体における制御対象又は副制御ユニットの増減に容易に対応することができる。   According to such a configuration, the address is given to the individual control data included in the control data broadcast-transmitted from the main control unit to the sub-control unit, and the sub-control unit is based on the control target address connected to itself. Since only necessary individual control data is acquired, the distributed control system can easily cope with increase / decrease in the number of controlled objects or sub-control units in the moving body.

前記主制御ユニットは、前記制御対象又は前記副制御ユニットの増減に応じて前記第一の記憶部に記憶された前記制御対象と前記アドレスとの関係を更新する第一のアドレス更新部と、更新された前記アドレスを前記副制御ユニットへ通知するアドレス通知部と、を備え、前記副制御ユニットは、通知された前記アドレスに基づいて前記第二の記憶部に記憶された前記アドレスを更新する第二のアドレス更新部を備えることが望ましい。   The main control unit includes a first address update unit that updates a relationship between the control target and the address stored in the first storage unit according to increase or decrease of the control target or the sub control unit, and an update An address notification unit that notifies the sub-control unit of the address that has been sent, and the sub-control unit updates the address stored in the second storage unit based on the notified address It is desirable to provide a second address update unit.

また、前記移動体は、自律移動可能なロボットであり、前記制御対象は、関節駆動用のモータを含む構成であってもよい。   The mobile body may be an autonomously movable robot, and the control target may include a joint driving motor.

本発明によれば、移動体における制御対象又は副制御ユニットの増減に容易に対応することができる。   ADVANTAGE OF THE INVENTION According to this invention, it can respond easily to increase / decrease in the control object or sub control unit in a moving body.

本発明の実施形態に係るロボットの外観を示す側面図である。It is a side view which shows the external appearance of the robot which concerns on embodiment of this invention. 図1のロボットの内部構造を模式的に示す斜視図である。It is a perspective view which shows typically the internal structure of the robot of FIG. 図1のロボットを示すブロック図である。It is a block diagram which shows the robot of FIG. 本発明の実施形態に係る分散制御システムを示すブロック図である。It is a block diagram which shows the distributed control system which concerns on embodiment of this invention. 図4の主制御ユニット及び副制御ユニットの構成を示すブロック図である。It is a block diagram which shows the structure of the main control unit of FIG. 4, and a sub control unit. (a)は、変更前の制御データ構造体を示す図、(b)は、変更後の制御データ構造体を示す図である。(A) is a figure which shows the control data structure before a change, (b) is a figure which shows the control data structure after a change. 制御対象の増減について説明するための図であり、変更前後の制御データ構造体及びアドレスと、各副制御ユニットにおける変更前後の先頭の制御対象のアドレス及び対象数と、を示す図である。It is a figure for demonstrating increase / decrease in a control object, and is a figure which shows the control data structure and address before and behind change, and the address and the number of objects of the head control object before and after change in each sub control unit. 本発明の実施形態に係る分散制御システムの動作例を説明するための図である。It is a figure for demonstrating the operation example of the distributed control system which concerns on embodiment of this invention.

本発明の実施形態について、図面を参照して詳細に説明する。説明において、同一の要素には同一の番号を付し、重複する説明は省略する。   Embodiments of the present invention will be described in detail with reference to the drawings. In the description, the same elements are denoted by the same reference numerals, and redundant description is omitted.

(ロボットRの構成)
まず、本発明の実施形態に係るロボットRについて説明する。以下の説明において、ロボットRの前後方向にX軸、左右方向にY軸、上下方向にZ軸をとる(図1参照)。本発明の実施形態に係るロボットRは、自律移動型の2足移動ロボットである。このロボットRは、外部のロボット管理装置から送信された実行命令信号に基づき、タスクを実行するものである。
(Configuration of robot R)
First, the robot R according to the embodiment of the present invention will be described. In the following description, the robot R has an X axis in the front-rear direction, a Y axis in the left-right direction, and a Z axis in the up-down direction (see FIG. 1). The robot R according to the embodiment of the present invention is an autonomous mobile biped mobile robot. The robot R executes a task based on an execution command signal transmitted from an external robot management device.

図1は、ロボットの外観を示す模式図である。図1に示すように、ロボットRは、人間と同じように2本の脚部R1(1本のみ図示)により起立、移動(歩行、走行など)し、上体部R2、2本の腕部R3(1本のみ図示)及び頭部R4を備え、自律して移動する。また、ロボットRは、これら脚部R1、上体部R2、腕部R3及び頭部R4の動作を制御する制御装置搭載部R5を背負う形で背中(上体部R2の後部)に備えている。   FIG. 1 is a schematic diagram showing the appearance of the robot. As shown in FIG. 1, the robot R stands up and moves (walks, runs, etc.) with two legs R1 (only one is shown) like a human being, and has an upper body R2, two arms. R3 (only one is shown) and a head R4 are provided and move autonomously. Further, the robot R is provided on the back (rear part of the upper body part R2) in a form of carrying a control device mounting part R5 for controlling the operations of the leg part R1, the upper body part R2, the arm part R3 and the head part R4. .

(ロボットRの駆動構造)
続いて、ロボットRの駆動構造について説明する。図2は、図1のロボットの駆動構造を模式的に示す斜視図である。なお、図2における関節部は、当該関節部を駆動する電動モータにより示されている。
(Robot R drive structure)
Next, the drive structure of the robot R will be described. FIG. 2 is a perspective view schematically showing the drive structure of the robot of FIG. In addition, the joint part in FIG. 2 is shown by the electric motor which drives the said joint part.

(脚部R1)
図2に示すように、左右それぞれの脚部R1は、6個の関節部11R(L)〜16R(L)を備えている。左右12個の関節は、股部(脚部R1と上体部R2との連結部分)の脚部回旋用(Z軸まわり)の股関節部11R,11L(右側をR、左側をLとする。また、R,Lを付さない場合もある。以下同じ。)、股部のピッチ軸(Y軸)まわりの股関節部12R,12L、股部のロール軸(X軸)まわりの股関節部13R,13L、膝部のピッチ軸(Y軸)まわりの膝関節部14R,14L、足首のピッチ軸(Y軸)まわりの足首関節部15R,15L、及び、足首のロール軸(X軸)まわりの足首関節部16R,16Lから構成されている。そして、脚部R1の下には足部17R,17Lが取り付けられている。
(Leg R1)
As shown in FIG. 2, the left and right leg portions R1 each include six joint portions 11R (L) to 16R (L). The twelve left and right joints have hip joint portions 11R and 11L (R on the right side and L on the left side) for leg rotation (around the Z axis) of the crotch portion (the connecting portion between the leg portion R1 and the upper body portion R2). Further, R and L may not be attached. The same applies hereinafter.), Hip joints 12R and 12L around the pitch axis (Y axis) of the crotch part, hip joint parts 13R around the roll axis (X axis) of the crotch part, 13L, knee joint portions 14R and 14L around the pitch axis (Y axis) of the knee, ankle joint portions 15R and 15L around the pitch axis (Y axis) of the ankle, and ankle around the roll axis (X axis) of the ankle It consists of joint portions 16R and 16L. And foot 17R, 17L is attached under leg R1.

すなわち、脚部R1は、股関節部11R(L),12R(L),13R(L)、膝関節部14R(L)及び足首関節部15R(L),16R(L)を備えている。股関節部11R(L)〜13R(L)と膝関節部14R(L)とは大腿リンク51R,51Lで、膝関節部14R(L)と足首関節部15R(L),16R(L)とは下腿リンク52R,52Lで連結されている。   That is, the leg portion R1 includes hip joint portions 11R (L), 12R (L), 13R (L), a knee joint portion 14R (L), and ankle joint portions 15R (L), 16R (L). The hip joint portions 11R (L) to 13R (L) and the knee joint portion 14R (L) are thigh links 51R and 51L, and the knee joint portion 14R (L) and the ankle joint portions 15R (L) and 16R (L). The lower leg links 52R and 52L are connected.

(上体部R2)
図2に示すように、上体部R2は、ロボットRの基体部分であり、脚部R1、腕部R3及び頭部R4と連結されている。すなわち、上体部R2(上体リンク53)は、股関節部11R(L)〜13R(L)を介して脚部R1と連結されている。また、上体部R2は、後記する肩関節部31R(L)〜33R(L)を介して腕部R3と連結されている。また、上体部R2は、後記する首関節部41,42を介して頭部R4と連結されている。
また、上体部R2は、上体回旋用(Z軸まわり)の関節部21を備えている。
(Upper body part R2)
As shown in FIG. 2, the upper body portion R2 is a base portion of the robot R, and is connected to the leg portion R1, the arm portion R3, and the head portion R4. That is, the upper body portion R2 (upper body link 53) is connected to the leg portion R1 via the hip joint portions 11R (L) to 13R (L). The upper body R2 is connected to the arm R3 via shoulder joints 31R (L) to 33R (L) described later. The upper body portion R2 is connected to the head portion R4 via neck joint portions 41 and 42 to be described later.
The upper body R2 includes a joint 21 for upper body rotation (around the Z axis).

(腕部R3)
図2に示すように、左右それぞれの腕部R3は、7個の関節部31R(L)〜37R(L)を備えている。左右14個の関節部は、肩部(腕部R3と上体部R2との連結部分)のピッチ軸(Y軸)まわりの肩関節部31R,31L、肩部のロール軸(X軸)まわりの肩関節部32R,32L、腕部回旋用(Z軸まわり)の肩関節部33R,33L、肘部のピッチ軸(Y軸)まわりの肘関節部34R,34L、手首回旋用(Z軸まわり)の腕関節部35R,35L、手首のピッチ軸(Y軸)まわりの手首関節部36R,36L、及び手首のロール軸(X軸)まわりの手首関節部37R,37Lから構成されている。そして、腕部R3の先端には把持部(ハンド)71R,71Lが取り付けられている。
(Arm R3)
As shown in FIG. 2, the left and right arm portions R3 each include seven joint portions 31R (L) to 37R (L). The 14 joints on the left and right are shoulder joints 31R and 31L around the pitch axis (Y axis) of the shoulder (the connecting part of the arm R3 and the upper body R2), and around the roll axis (X axis) of the shoulder. Shoulder joints 32R, 32L, shoulder joints 33R, 33L for arm rotation (around Z axis), elbow joints 34R, 34L around the pitch axis (Y axis) of the elbow, wrist rotation (around Z axis) Arm joint portions 35R and 35L, wrist joint portions 36R and 36L around the wrist pitch axis (Y axis), and wrist joint portions 37R and 37L around the wrist roll axis (X axis). And grip part (hand) 71R, 71L is attached to the front-end | tip of arm part R3.

すなわち、腕部R3は、肩関節部31R(L),32R(L),33R(L)、肘関節部34R(L)、腕関節部35R(L)及び手首関節部36R(L),37R(L)を備えている。肩関節部31R(L)〜33R(L)とは肘関節部34R(L)とは上腕リンク54R(L)で、肘関節部34R(L)と手首関節部36R(L),37R(L)とは前腕リンク55R(L)で連結されている。   That is, the arm portion R3 includes the shoulder joint portions 31R (L), 32R (L), 33R (L), the elbow joint portion 34R (L), the arm joint portion 35R (L), and the wrist joint portions 36R (L), 37R. (L). The shoulder joint portions 31R (L) to 33R (L) are the elbow joint portions 34R (L) and the upper arm links 54R (L). The elbow joint portions 34R (L) and the wrist joint portions 36R (L) and 37R (L) ) Is connected by a forearm link 55R (L).

(頭部R4)
図2に示すように、頭部R4は、首部(頭部R4と上体部R2との連結部分)のY軸まわりの首関節部41と、首部のZ軸まわりの首関節部42と、を備えている。首関節部41は頭部R4のチルト角を設定するためのものであり、首関節部42は頭部R4のパンを設定するためのものである。
(Head R4)
As shown in FIG. 2, the head R4 includes a neck joint portion 41 around the Y axis of the neck portion (a connecting portion between the head portion R4 and the upper body portion R2), a neck joint portion 42 around the Z axis of the neck portion, It has. The neck joint 41 is for setting the tilt angle of the head R4, and the neck joint 42 is for setting the pan of the head R4.

このような構成により、左右の脚部R1は合計12の自由度を与えられ、移動中に12個の関節部11R(L)〜16R(L)を適宜な角度で駆動することで、脚部R1に所望の動きを与えることができ、ロボットRが任意に3次元空間を移動することができる。また、左右の腕部R3は合計14の自由度を与えられ、14個の関節部31R(L)〜37R(L)を適宜な角度で駆動することで、ロボットRが所望の作業を行うことができる。   With such a configuration, the left and right leg portions R1 are given a total of 12 degrees of freedom, and the 12 joint portions 11R (L) to 16R (L) are driven at an appropriate angle during movement, so that the leg portions A desired movement can be given to R1, and the robot R can arbitrarily move in the three-dimensional space. The left and right arm portions R3 are given a total of 14 degrees of freedom, and the robot R performs a desired work by driving the 14 joint portions 31R (L) to 37R (L) at appropriate angles. Can do.

また、足首関節部15R(L),16R(L)と足部17R(L)との間には、公知の6軸力センサ61R(L)が設けられている。6軸力センサ61R(L)は、床面からロボットRに作用する床反力の3方向成分Fx,Fy,Fzと、モーメントの3方向成分Mx,My,Mzと、を検出する。   A known 6-axis force sensor 61R (L) is provided between the ankle joint portions 15R (L), 16R (L) and the foot portion 17R (L). The six-axis force sensor 61R (L) detects the three-direction components Fx, Fy, Fz of the floor reaction force acting on the robot R from the floor surface and the three-direction components Mx, My, Mz of the moment.

また、手首関節部36R(L),37R(L)と把持部71R(L)との間には、公知の6軸力センサ62R(L)が設けられている。6軸力センサ62R(L)は、ロボットRの把持部71R(L)に作用する反力の3方向成分Fx,Fy,Fzと、モーメントの3方向成分Mx,My,Mzと、を検出する。   Further, a known six-axis force sensor 62R (L) is provided between the wrist joint portions 36R (L), 37R (L) and the grip portion 71R (L). The six-axis force sensor 62R (L) detects the three-direction components Fx, Fy, Fz of the reaction force acting on the gripping portion 71R (L) of the robot R and the three-direction components Mx, My, Mz of the moment. .

また、上体部R2には、傾斜センサ63が設けられている。傾斜センサ63は、上体部R2の重力軸(Z軸)に対する傾きと、その角速度と、を検出する。
また、各関節部の電動モータは、その出力を減速・増力する減速機(図示せず)を介して前記した大腿リンク51R(L)、下腿リンク52R(L)などを相対変位させる。これら各関節部の角度は、関節角度検出手段(例えば、ロータリエンコーダ)によって検出される。
Further, an inclination sensor 63 is provided in the upper body portion R2. The inclination sensor 63 detects the inclination of the upper body part R2 with respect to the gravity axis (Z axis) and its angular velocity.
The electric motors at the joints relatively displace the above-described thigh link 51R (L), crus link 52R (L) and the like via a speed reducer (not shown) that decelerates and increases the output. The angles of these joint portions are detected by a joint angle detection means (for example, a rotary encoder).

制御装置搭載部R5は、後記する自律移動制御部150、把持部制御部160、無線通信部170、主制御部200、バッテリ(図示せず)などを収納している。各センサ61〜63などの検出データは、制御装置搭載部R5内の各制御部に送られる。また、各電動モータは、各制御部からの駆動指示信号により駆動される。   The control device mounting unit R5 houses an autonomous movement control unit 150, a gripping unit control unit 160, a wireless communication unit 170, a main control unit 200, a battery (not shown) and the like which will be described later. The detection data of each sensor 61-63 etc. is sent to each control part in control apparatus mounting part R5. Each electric motor is driven by a drive instruction signal from each control unit.

図3は、図1のロボットを示すブロック図である。図3に示すように、ロボットRは、脚部R1、腕部R3及び頭部R4に加えて、カメラC,C、スピーカS、マイクMC,MC、画像処理部100、音声処理部110、対象検知部120、自律移動制御部150、把持部制御部160、無線通信部170、主制御部200及び記憶部300を備えている。   FIG. 3 is a block diagram showing the robot of FIG. As shown in FIG. 3, in addition to the leg R1, the arm R3, and the head R4, the robot R includes cameras C and C, speakers S, microphones MC and MC, an image processing unit 100, an audio processing unit 110, and an object. A detection unit 120, an autonomous movement control unit 150, a gripping unit control unit 160, a wireless communication unit 170, a main control unit 200, and a storage unit 300 are provided.

また、ロボットRは、ジャイロセンサSR1及びGPS受信器SR2を備えている。
ジャイロセンサSR1は、ロボットRの向きに関するデータ(向きデータ)を検出する。また、GPS受信器SR2は、ロボットRの位置に関するデータ(位置データ)を検出する。ジャイロセンサSR1及びGPS受信器SR2が検出したデータは、主制御部200に出力され、ロボットRの行動を決定するために利用されると共に、主制御部200から無線通信部170を介してロボット管理装置3に送信される。
The robot R includes a gyro sensor SR1 and a GPS receiver SR2.
The gyro sensor SR1 detects data (orientation data) related to the orientation of the robot R. The GPS receiver SR2 detects data (position data) related to the position of the robot R. Data detected by the gyro sensor SR1 and the GPS receiver SR2 is output to the main control unit 200, used to determine the behavior of the robot R, and managed by the robot from the main control unit 200 via the wireless communication unit 170. It is transmitted to the device 3.

[カメラ]
カメラC,Cは、映像をデジタルデータとして取り込むことができるものであり、例えばカラーCCD(Charge-Coupled Device)カメラが使用される。カメラC,Cは、左右に平行に並んで配置され、撮影した画像は画像処理部100に出力される。このカメラC,Cと、スピーカS及びマイクMC,MCは、いずれも頭部R4の内部に配設される。
[camera]
The cameras C and C are capable of capturing video as digital data. For example, a color CCD (Charge-Coupled Device) camera is used. The cameras C and C are arranged side by side in parallel on the left and right, and the captured image is output to the image processing unit 100. The cameras C and C, the speaker S, and the microphones MC and MC are all disposed inside the head R4.

[画像処理部]
画像処理部100は、カメラC,Cが撮影した画像を処理して、撮影された画像からロボットRの周囲の状況を把握するため、周囲の障害物や人物の認識を行う部分である。この画像処理部100は、ステレオ処理部101、移動体抽出部102及び顔認識部103を備えている。
[Image processing unit]
The image processing unit 100 is a part for recognizing surrounding obstacles and persons in order to process images taken by the cameras C and C and grasp the situation around the robot R from the taken images. The image processing unit 100 includes a stereo processing unit 101, a moving body extraction unit 102, and a face recognition unit 103.

ステレオ処理部101は、左右のカメラC,Cが撮影した2枚の画像の一方を基準としてパターンマッチングを行い、左右の画像中の対応する各画素の視差を計算して視差画像を生成し、生成した視差画像及び元の画像を移動体抽出部102に出力する。なお、この視差は、ロボットRから撮影された物体までの距離を表すものである。   The stereo processing unit 101 performs pattern matching on the basis of one of the two images taken by the left and right cameras C and C, calculates the parallax of each corresponding pixel in the left and right images, and generates a parallax image. The generated parallax image and the original image are output to the moving object extraction unit 102. This parallax represents the distance from the robot R to the photographed object.

移動体抽出部102は、ステレオ処理部101から出力されたデータに基づき、撮影した画像中の移動体を抽出するものである。移動する物体(移動体)を抽出するのは、移動する物体は人物であると推定して、人物の認識をするためである。
移動体の抽出をするために、移動体抽出部102は、過去の数フレーム(コマ)の画像を記憶しており、最も新しいフレーム(画像)と、過去のフレーム(画像)を比較して、パターンマッチングを行い、各画素の移動量を計算し、移動量画像を生成する。そして、視差画像と、移動量画像とから、カメラC,Cから所定の距離範囲内で、移動量の多い画素がある場合に、その位置に人物がいると推定し、その所定距離範囲のみの視差画像として、移動体を抽出し、顔認識部103へ移動体の画像を出力する。
また、移動体抽出部102は、抽出した移動体の高さ、すなわち身長を算出し、顔認識部103へ出力する。
The moving object extraction unit 102 extracts a moving object in the captured image based on the data output from the stereo processing unit 101. The reason why the moving object (moving body) is extracted is to recognize the person by estimating that the moving object is a person.
In order to extract a moving object, the moving object extraction unit 102 stores images of several past frames (frames), and compares the latest frame (image) with a past frame (image), Pattern matching is performed, the movement amount of each pixel is calculated, and a movement amount image is generated. Then, from the parallax image and the movement amount image, when there is a pixel with a large movement amount within a predetermined distance range from the cameras C and C, it is estimated that there is a person at that position, and only the predetermined distance range A moving object is extracted as a parallax image, and an image of the moving object is output to the face recognition unit 103.
In addition, the moving body extraction unit 102 calculates the height of the extracted moving body, that is, the height, and outputs the height to the face recognition unit 103.

顔認識部103は、抽出した移動体から肌色の部分を抽出して、その大きさ、形状などから顔の位置を認識する。なお、同様にして、肌色の領域と、大きさ、形状などから手の位置も認識される。
認識された顔の位置は、ロボットRが移動するときの情報として、また、その人とのコミュニケーションを取るため、主制御部200に出力されると共に、無線通信部170に出力されて、基地局1を介して、ロボット管理装置3に送信される。
The face recognizing unit 103 extracts a skin color portion from the extracted moving object, and recognizes the position of the face from the size, shape, and the like. Similarly, the position of the hand is also recognized from the skin color area, size, shape, and the like.
The recognized face position is output to the main control unit 200 and the wireless communication unit 170 as information when the robot R moves and to communicate with the person. 1 is sent to the robot management apparatus 3 via

[スピーカ]
スピーカSは、後記する音声合成部111により生成された音声データに基づき、音声を出力する。
[Speaker]
The speaker S outputs a sound based on the sound data generated by the sound synthesizer 111 described later.

[マイク]
マイクMC,MCは、ロボットRの周囲の音を集音するものである。集音された音は、後記する音声認識部112及び音源定位部113に出力される。
[Microphone]
The microphones MC and MC collect sounds around the robot R. The collected sound is output to a voice recognition unit 112 and a sound source localization unit 113 described later.

[音声処理部]
音声処理部110は、音声合成部111、音声認識部112及び音源定位部113を備えている。
[Audio processor]
The voice processing unit 110 includes a voice synthesis unit 111, a voice recognition unit 112, and a sound source localization unit 113.

音声合成部111は、主制御部200が決定し、出力してきた発話行動の指令に基づき、文字情報から音声データを生成し、スピーカSに音声を出力する部分である。音声データの生成には、予め記憶している文字情報と音声データとの対応関係を利用する。   The voice synthesizer 111 is a part that generates voice data from the character information and outputs the voice to the speaker S based on the utterance action command determined and output by the main controller 200. For the generation of the voice data, the correspondence between the character information stored in advance and the voice data is used.

音声認識部112は、マイクMC,MCから音声データが入力され、予め記憶している音声データと文字情報との対応関係に基づき、音声データから文字情報を生成し、主制御部200に出力するものである。   The voice recognition unit 112 receives voice data from the microphones MC and MC, generates character information from the voice data based on the correspondence between the voice data stored in advance and the character information, and outputs the character information to the main control unit 200. Is.

音源定位部113は、マイクMC,MC間の音圧差及び音の到達時間差に基づいて、音源の位置(ロボットRからの距離及び方向)を特定する。   The sound source localization unit 113 identifies the position of the sound source (distance and direction from the robot R) based on the sound pressure difference between the microphones MC and MC and the sound arrival time difference.

[対象検知部]
対象検知部120は、ロボットRの周囲に検知用タグを備える検知対象(例えば、ヒト)が存在するか否かを検知すると共に、検知対象の存在が検知された場合、当該検知対象の位置を特定するものである。
[Target detection unit]
The target detection unit 120 detects whether or not there is a detection target (for example, a human) having a detection tag around the robot R. When the detection target is detected, the target detection unit 120 determines the position of the detection target. It is something to identify.

[自律移動制御部]
自律移動制御部150は、頭部制御部151、腕部制御部152及び脚部制御部153を備えている。頭部制御部151は、主制御部200の指示に従い頭部R4を駆動し、腕部制御部152は、主制御部200の指示に従い腕部R3を駆動し、脚部制御部153は、主制御部200の指示に従い脚部R1を駆動する。
[Autonomous Movement Control Unit]
The autonomous movement controller 150 includes a head controller 151, an arm controller 152, and a leg controller 153. The head control unit 151 drives the head R4 according to the instruction from the main control unit 200, the arm control unit 152 drives the arm unit R3 according to the instruction from the main control unit 200, and the leg control unit 153 The leg portion R1 is driven in accordance with an instruction from the control unit 200.

[把持部制御部]
把持部制御部160は、主制御部200の指示に従い、ロボットハンドである把持部71を駆動する。
[Grip part control part]
The gripping unit control unit 160 drives the gripping unit 71 that is a robot hand in accordance with an instruction from the main control unit 200.

[無線通信部]
無線通信部170は、ロボット管理装置3とデータの送受信を行う通信装置である。無線通信部170は、公衆回線通信装置171および無線通信装置172を備えている。
公衆回線通信装置171は、携帯電話回線やPHS(Personal Handyphone System)回線などの公衆回線を利用した無線通信手段である。一方、無線通信装置172は、IEEE802.11b規格に準拠するワイヤレスLANなどの、近距離無線通信による無線通信手段である。
無線通信部170は、ロボット管理装置3からの接続要求に従い、公衆回線通信装置171または無線通信装置172を選択してロボット管理装置3とデータ通信を行う。
[Wireless communication part]
The wireless communication unit 170 is a communication device that exchanges data with the robot management device 3. The wireless communication unit 170 includes a public line communication device 171 and a wireless communication device 172.
The public line communication device 171 is a wireless communication means using a public line such as a mobile phone line or a PHS (Personal Handyphone System) line. On the other hand, the wireless communication device 172 is a wireless communication unit using short-range wireless communication such as a wireless LAN conforming to the IEEE802.11b standard.
The wireless communication unit 170 performs data communication with the robot management apparatus 3 by selecting the public line communication apparatus 171 or the wireless communication apparatus 172 in accordance with a connection request from the robot management apparatus 3.

[主制御部及び記憶部]
記憶部300には、ロボットRが移動するエリアの地形(壁位置、机位置など)に関するデータ(地図データ)、ロボットRが発話するためのデータ(発話データ)等が記憶されている。主制御部200は、ロボット管理装置3によって送信されたタスクを取得し、取得されたタスクと、ジャイロセンサSR1及びGPS受信器SR2によって検出されたデータと、に基づいて、ロボットRの行動を決定し、決定された内容を自律移動制御部150及び把持部制御部160へ出力する。
[Main control unit and storage unit]
The storage unit 300 stores data (map data) relating to the topography (wall position, desk position, etc.) of the area in which the robot R moves, data for the robot R to speak (utterance data), and the like. The main control unit 200 acquires the task transmitted by the robot management apparatus 3, and determines the action of the robot R based on the acquired task and the data detected by the gyro sensor SR1 and the GPS receiver SR2. The determined content is output to the autonomous movement control unit 150 and the gripping unit control unit 160.

<分散制御システムの構成>
図4に示すように、本発明の実施形態に係る分散制御システム400は、移動体であるロボットRに設けられた複数の制御対象を分散制御するシステムであって、一の主制御ユニット410と、複数の副制御ユニット420(420A〜420N)と、制御対象430であるモータ430A−1,430A−2,430B−1,430−B2,430−C1,430C−2、センサ430D−1,430D−2、…及びデバイス430N−1,430N−2と、を備える。
<Configuration of distributed control system>
As shown in FIG. 4, a distributed control system 400 according to an embodiment of the present invention is a system that performs distributed control of a plurality of control objects provided in a robot R that is a moving body, and includes a main control unit 410 and , A plurality of sub-control units 420 (420A to 420N), motors 430A-1, 430A-2, 430B-1, 430-B2, 430-C1, 430C-2, sensors 430D-1, 430D, which are control objects 430 ,... And devices 430N-1 and 430N-2.

主制御ユニット410は、図3における自律移動制御部150及び把持部制御部160に相当し、ロボットRの制御のための演算処理を行って全制御対象430に関する個別制御データを含む制御データを生成し、生成された制御データを副制御ユニット420へ送信する。   The main control unit 410 corresponds to the autonomous movement control unit 150 and the gripping unit control unit 160 in FIG. 3, performs control processing for controlling the robot R, and generates control data including individual control data regarding all the control targets 430. Then, the generated control data is transmitted to the sub-control unit 420.

副制御ユニット420は、主制御ユニット410と制御データの通信を行い、主制御ユニット410から送信された制御データを受信し、受信した制御データに基づいて、当該副制御ユニット420に通信可能に接続された一以上の制御対象430の駆動を制御する。   The sub control unit 420 communicates control data with the main control unit 410, receives the control data transmitted from the main control unit 410, and is communicably connected to the sub control unit 420 based on the received control data. The driving of the one or more controlled objects 430 is controlled.

副制御ユニット420Aは、例えば図3における頭部R4に設けられたモータドライバとしてのECU(Electronic Control Unit)であり、頭部R4に設けられた首関節部41,42用のモータの駆動を制御する。以下、説明の簡略化のため、副制御ユニット420Aには二つのモータ430A−1,430A−2が通信可能に接続されているものとする。   The sub-control unit 420A is, for example, an ECU (Electronic Control Unit) as a motor driver provided in the head R4 in FIG. 3, and controls driving of the motors for the neck joint portions 41 and 42 provided in the head R4. To do. Hereinafter, for simplification of explanation, it is assumed that two motors 430A-1 and 430A-2 are communicably connected to the sub-control unit 420A.

副制御ユニット420Bは、例えば図3における右側の腕部R3に設けられたモータドライバとしてのECUであり、腕部R3に設けられた肩関節部31R,32R,33R用のモータの駆動を制御する。以下、説明の簡略化のため、副制御ユニット420Bには二つのモータ430B−1,430B−2が通信可能に接続されているものとする。   The sub-control unit 420B is, for example, an ECU as a motor driver provided in the right arm R3 in FIG. 3, and controls driving of the motors for the shoulder joints 31R, 32R, and 33R provided in the arm R3. . Hereinafter, for simplification of description, it is assumed that two motors 430B-1 and 430B-2 are communicably connected to the sub-control unit 420B.

副制御ユニット420Cは、例えば図3における右側の腕部R3に設けられたモータドライバとしてのECUであり、腕部R3に設けられた肘関節部34R及び腕関節部35R用のモータの駆動を制御する。以下、説明の簡略化のため、副制御ユニット420Cには二つのモータ430C−1,430C−2が通信可能に接続されているものとする。   The sub-control unit 420C is an ECU as a motor driver provided in the right arm R3 in FIG. 3, for example, and controls driving of the elbow joint 34R and the arm joint 35R provided in the arm R3. To do. Hereinafter, for simplification of explanation, it is assumed that two motors 430C-1 and 430C-2 are communicably connected to the sub-control unit 420C.

副制御ユニット420Dは、センサ用ECUであり、ロボットRのセンサ(例えば、右側の腕部R3に設けられた6軸力センサ等)の駆動を制御する。以下、説明の簡略化のため、副制御ユニット420Dには二つのセンサ430D−1,430D−2が通信可能に接続されているものとする。かかる副制御ユニット420Dは、個別制御データに基づいて、センサ430D−1,430D−2のゲイン値、サンプリング周期等を変更することができる。   The sub-control unit 420D is a sensor ECU and controls driving of a sensor of the robot R (for example, a six-axis force sensor provided on the right arm R3). Hereinafter, for simplification of explanation, it is assumed that two sensors 430D-1 and 430D-2 are communicably connected to the sub-control unit 420D. The sub-control unit 420D can change the gain values, sampling periods, and the like of the sensors 430D-1 and 430D-2 based on the individual control data.

副制御ユニット420Nは、インターフェース用ECUであり、ロボットRに取り付けられたデバイス(例えば、LED、ブザー等)の駆動を制御する。以下、説明の簡略化のため、副制御ユニット420Nには二つのデバイス430N−1,430N−2が通信可能に接続されているものとする。   The sub-control unit 420N is an interface ECU, and controls driving of devices (for example, LEDs, buzzers, etc.) attached to the robot R. Hereinafter, for simplification of description, it is assumed that two devices 430N-1 and 430N-2 are connected to the sub-control unit 420N so as to communicate with each other.

続いて、図5〜図7を参照して、主制御ユニット410及び副制御ユニット420の詳細構成について説明する。図5は、主制御ユニット及び副制御ユニットの構成を示すブロック図であり、図6(a)は、変更前の制御データ構造体を示す図、図6(b)は、変更後の制御データ構造体を示す図であり、図7は、制御対象の増減について説明するための図であり、変更前後の制御データ構造体及びアドレスと、各副制御ユニットにおける変更前後の先頭の制御対象のアドレス及び対象数と、を示す図である。   Next, detailed configurations of the main control unit 410 and the sub control unit 420 will be described with reference to FIGS. FIG. 5 is a block diagram showing the configuration of the main control unit and the sub control unit. FIG. 6A shows a control data structure before change, and FIG. 6B shows control data after change. FIG. 7 is a diagram for explaining the increase / decrease of the control object, and FIG. 7 is a diagram for explaining the control data structure and address before and after the change, and the address of the first control object before and after the change in each sub-control unit. And the number of objects.

<主制御ユニットの構成>
図5に示すように、主制御ユニット410は、機能部として、第一の記憶部411と、制御データ生成部412と、タイミング決定部413と、制御データ送信部414と、第一のアドレス更新部415と、アドレス通知部416と、制御対象情報取得部417と、を備える。
<Configuration of main control unit>
As shown in FIG. 5, the main control unit 410 includes, as functional units, a first storage unit 411, a control data generation unit 412, a timing determination unit 413, a control data transmission unit 414, and a first address update. Unit 415, address notification unit 416, and control target information acquisition unit 417.

第一の記憶部411には、複数の制御対象430と当該制御対象430に付与されたアドレス(オフセットアドレスともいう)との関係が記憶されている。より詳細には、第一の記憶部411には、制御データ構造体と、当該制御データ構造体に付与されたアドレスと、が記憶されている。ここで、制御データ構造体は、図6(a)に示すように、制御データ全体において、どのデータがどの制御対象の個別制御データであるかを示すものである。また、アドレスは、0から始まる整数であって、例えば、図7の変更前に示すように、制御データのうち、1番目のモータ430A−1の個別制御データが含まれる部分にアドレス「0」が付与され、2番目のモータ430A−2の個別制御データが含まれる部分にアドレス「1」が付与され、3番目のモータ430B−1の個別制御データが含まれる部分にアドレス「2」が付与され、…、N番目のデバイス430N−2の個別制御データが含まれる部分にアドレス「2N+1」が付与されている。かかる第一の記憶部411は、主制御ユニット410の起動時のみ機能する。   The first storage unit 411 stores a relationship between a plurality of control objects 430 and addresses (also referred to as offset addresses) assigned to the control objects 430. More specifically, the first storage unit 411 stores a control data structure and an address assigned to the control data structure. Here, as shown in FIG. 6A, the control data structure indicates which data is individual control data of which control object in the entire control data. The address is an integer starting from 0. For example, as shown before the change in FIG. 7, the address “0” is included in the portion of the control data including the individual control data of the first motor 430A-1. Is assigned, the address “1” is assigned to the portion including the individual control data of the second motor 430A-2, and the address “2” is assigned to the portion including the individual control data of the third motor 430B-1. ,..., The address “2N + 1” is assigned to the part including the individual control data of the Nth device 430N-2. The first storage unit 411 functions only when the main control unit 410 is activated.

制御データ生成部412は、後記する指令値生成部201から送信された指令値を受信し、受信した指令値(個別制御データ)を、第一の記憶部411に記憶された、制御対象430と当該制御対象430に付与されたアドレスとの関係に基づいて並べ替えた制御データを生成し、制御データ送信部414へ出力する。ここで、主制御ユニット410の制御対象情報取得部417は、後記する各副制御ユニット420の制御対象送信部425によって送信された各制御対象情報をバラバラの順に取得して主制御部200の指令値生成部201へ送信する。指令値生成部201は、生成された各指令値をバラバラの順で主制御ユニット410の制御データ生成部412へ送信するため、制御データ生成部412は、各指令値をバラバラの順で取得することになる。したがって、制御データ生成部412は、制御データを生成する際に、バラバラの順で取得された各指令値(個別制御データ)を、第一の記憶部411に記憶された制御データ構造体の順に並べ替える。   The control data generation unit 412 receives a command value transmitted from the command value generation unit 201 described later, and the received command value (individual control data) is stored in the first storage unit 411 and the control object 430. Control data rearranged based on the relationship with the address assigned to the control target 430 is generated and output to the control data transmission unit 414. Here, the control target information acquisition unit 417 of the main control unit 410 acquires each control target information transmitted by the control target transmission unit 425 of each sub-control unit 420 described later in order in a disjoint manner, and instructs the main control unit 200 to It transmits to the value generation unit 201. Since the command value generation unit 201 transmits the generated command values to the control data generation unit 412 of the main control unit 410 in the order of separation, the control data generation unit 412 acquires the command values in the order of separation. It will be. Therefore, when generating the control data, the control data generation unit 412 obtains the command values (individual control data) acquired in the order of disintegration in the order of the control data structures stored in the first storage unit 411. Rearrange.

タイミング決定部413は、移動体であるロボットRの制御対象430の全体の制御タイミング(全ての制御対象の同期基準)を決定し、制御データ送信部414へ出力する。かかる制御タイミングの決定に関しては、公知の技術を採用可能であるため、詳細な説明を省略する。   The timing determination unit 413 determines the overall control timing (synchronization reference for all control targets) of the control target 430 of the robot R, which is a moving body, and outputs it to the control data transmission unit 414. Regarding the determination of the control timing, since a known technique can be adopted, detailed description is omitted.

制御データ送信部414は、制御データ生成部412によって生成された制御データ、及び、タイミング決定部413によって決定された送信タイミングを取得し、取得された制御データを取得された送信タイミングで、全ての副制御ユニット420に対してブロードキャスト送信する。   The control data transmission unit 414 acquires the control data generated by the control data generation unit 412 and the transmission timing determined by the timing determination unit 413, and transmits all the acquired control data at the acquired transmission timing. Broadcast transmission to the sub-control unit 420 is performed.

第一のアドレス更新部415は、制御対象430の増減が行われた場合に、外部端末500から送信された増減通知を受信し、受信した増減通知に基づいて第一の記憶部411に記憶された制御対象430とアドレスとの関係を更新する。かかる増減通知は、どの副制御ユニット420の制御対象430が増減したかを含むデータである。なお、外部端末500は、図3のロボット管理装置3であって、基地局1、無線通信部170及び主制御部200を介して主制御ユニットの第一のアドレス更新部415と通信可能に接続される構成であってもよい。   The first address updating unit 415 receives the increase / decrease notification transmitted from the external terminal 500 when the control object 430 is increased / decreased, and is stored in the first storage unit 411 based on the received increase / decrease notification. The relationship between the controlled object 430 and the address is updated. The increase / decrease notification is data including which sub-control unit 420 the control target 430 has increased / decreased. Note that the external terminal 500 is the robot management apparatus 3 in FIG. 3, and is communicably connected to the first address update unit 415 of the main control unit via the base station 1, the wireless communication unit 170, and the main control unit 200. It may be configured.

より詳細には、第一のアドレス更新部415は、増減通知に基づいて制御データ構造体を生成し直すとともに、複数の制御対象430のアドレスを算出し直し、新たな制御データ構造体及びアドレスを第一の記憶部411に記憶させる。例えば、副制御ユニット420Bに新たな制御対象(モータ)430B−3が接続された場合には、第一のアドレス更新部415は、第一の記憶部411に記憶された変更前の制御データ構造体(図6(a)参照)を読み出し、これに制御対象430B−3の個別制御データの場所を追加した変更後の制御データ構造体(図6(b)参照)を生成し、変更後の制御データ構造体にアドレスを付与し直して、変更度の制御データ構造体及びアドレスを第一の記憶部411に記憶させる。   More specifically, the first address update unit 415 regenerates the control data structure based on the increase / decrease notification, recalculates the addresses of the plurality of control objects 430, and sets the new control data structure and address. It memorize | stores in the 1st memory | storage part 411. FIG. For example, when a new control target (motor) 430B-3 is connected to the sub control unit 420B, the first address update unit 415 stores the control data structure before change stored in the first storage unit 411. Body (see FIG. 6 (a)), and the control data structure after change (see FIG. 6 (b)) is generated by adding the location of the individual control data of the control target 430B-3 to this. An address is reassigned to the control data structure, and the control data structure and address of the degree of change are stored in the first storage unit 411.

また、第一のアドレス更新部415は、第一の記憶部411に記憶された制御対象430とアドレスとの関係を更新した場合に、更新されたアドレスを含む更新通知をアドレス通知部416へ出力する。本実施形態において、更新通知は、副制御ユニット420ごとに生成されており、当該副制御ユニット420の接続された先頭の制御対象430のアドレスと対象数とを含むデータである。
なお、第一のアドレス更新部415は、第一の記憶部411に記憶された制御対象430とアドレスとの関係を書き換えた場合には、第一の記憶部411を再起動させることによって前記した関係を更新する。
The first address update unit 415 outputs an update notification including the updated address to the address notification unit 416 when the relationship between the control target 430 and the address stored in the first storage unit 411 is updated. To do. In the present embodiment, the update notification is data that is generated for each sub control unit 420 and includes the address of the first control target 430 to which the sub control unit 420 is connected and the number of targets.
Note that the first address updating unit 415 is configured to restart the first storage unit 411 when the relationship between the control target 430 and the address stored in the first storage unit 411 is rewritten. Update the relationship.

アドレス通知部416は、第一のアドレス更新部415から出力された更新通知を取得し、取得された更新通知を各副制御ユニット420へ送信する。   The address notification unit 416 acquires the update notification output from the first address update unit 415 and transmits the acquired update notification to each sub-control unit 420.

制御対象情報取得部417は、後記する副制御ユニット420の制御対象情報送信部425によって送信された制御対象情報を取得し、主制御部200の指令値生成部201へ転送する。   The control target information acquisition unit 417 acquires control target information transmitted by the control target information transmission unit 425 of the sub control unit 420 described later, and transfers the control target information to the command value generation unit 201 of the main control unit 200.

なお、主制御部200の指令値生成部201は、制御対象情報取得部417によって転送された制御対象情報を取得し、ロボットRが実行すべきタスクの内容、及び、取得された制御対象情報に基づいて、フィードバック制御等の手法を用いて各制御対象の制御量を生成し、指令値として主制御ユニット410の制御データ生成部412へ送信する。   Note that the command value generation unit 201 of the main control unit 200 acquires the control target information transferred by the control target information acquisition unit 417, and adds the content of the task to be executed by the robot R and the acquired control target information. Based on this, a control amount for each control target is generated using a technique such as feedback control, and is transmitted to the control data generation unit 412 of the main control unit 410 as a command value.

<副制御ユニット420の構成>
副制御ユニット420は、モータドライバとしてのECU、センサ用ECU、インターフェース用ECU等といった、個別制御データに基づいて当該副制御ユニット420に接続された制御対象430の駆動を直接制御するものであって、機能部として、第二の記憶部421と、個別制御データ取得部422と、制御対象制御部423と、第二のアドレス更新部424と、制御対象情報送信部425と、を備える。
<Configuration of Sub Control Unit 420>
The sub-control unit 420 directly controls the drive of the control target 430 connected to the sub-control unit 420 based on individual control data such as an ECU as a motor driver, a sensor ECU, an interface ECU, and the like. As a functional unit, a second storage unit 421, an individual control data acquisition unit 422, a control target control unit 423, a second address update unit 424, and a control target information transmission unit 425 are provided.

第二の記憶部421には、当該副制御ユニット420に対応する制御対象430のアドレスが記憶されている。本実施形態では、図7の「変更前」に記載されているように、副制御ユニット420の先頭の制御対象430のアドレスと当該副制御ユニット420に接続された制御対象430の数(対象数)とが関連付けて記憶されている。例えば、副制御ユニット420Aの第二の記憶部421には、先頭の制御対象430のアドレス「0」と対象数「2」とが関連付けて記憶されており、副制御ユニット420Bの第二の記憶部421には、先頭の制御対象430のアドレス「2」と対象数「2」とが関連付けて記憶されている。なお、図7では、制御データ構造体のうち、各副制御ユニット420A,B,C,…,Nの「変更前」及び「変更後」の対応制御対象430の個別制御データが格納される部分が太線枠で示されている。   The second storage unit 421 stores the address of the control target 430 corresponding to the sub control unit 420. In the present embodiment, as described in “Before change” in FIG. 7, the address of the first control target 430 of the sub control unit 420 and the number of control targets 430 connected to the sub control unit 420 (number of targets). ) Is stored in association with each other. For example, the second storage unit 421 of the sub control unit 420A stores the address “0” of the head control object 430 and the number of objects “2” in association with each other, and the second storage of the sub control unit 420B. The unit 421 stores the address “2” of the head control object 430 and the number of objects “2” in association with each other. In FIG. 7, a part of the control data structure in which the individual control data of the corresponding control target 430 of “before change” and “after change” of each of the sub control units 420 </ b> A, B, C,. Is indicated by a bold frame.

個別制御データ取得部422は、制御データ送信部414によって送信された制御データを受信し、第二の記憶部421に記憶されたアドレス及び対象数を参照することによって、制御データの中から該当する個別制御データを取得し、残りの個別制御データを破棄する。取得された個別制御データは、制御対象制御部423へ出力される。
例えば、図7に示す副制御ユニット420Aの個別制御データ422は、第二の記憶部421に記憶されたアドレスが「0」、対象数が「2」であるため、制御データのうち、1,2番目の個別制御データを取得する。
The individual control data acquisition unit 422 receives the control data transmitted by the control data transmission unit 414, and refers to the address and the number of objects stored in the second storage unit 421, so that it corresponds from the control data. Acquire individual control data and discard the remaining individual control data. The acquired individual control data is output to the control target control unit 423.
For example, the individual control data 422 of the sub control unit 420A shown in FIG. 7 has the address stored in the second storage unit 421 as “0” and the number of objects as “2”. The second individual control data is acquired.

制御対象制御部423は、個別制御データ取得部422から出力された個別制御データを取得し、取得された個別制御データに基づいて、副制御ユニット420に接続された制御対象430の駆動を制御する。個別制御データは、前記した指令値等であって、例えば、制御対象430がモータである場合には、制御対象制御部423は、個別制御データであるモータの目標回転数と実際の回転数が一致するように、当該モータの駆動を制御する。   The control target control unit 423 acquires the individual control data output from the individual control data acquisition unit 422, and controls the drive of the control target 430 connected to the sub control unit 420 based on the acquired individual control data. . The individual control data is the above-described command value or the like. For example, when the control target 430 is a motor, the control target control unit 423 determines that the target rotation speed and the actual rotation speed of the motor, which are the individual control data, are The drive of the motor is controlled so as to match.

第二のアドレス更新部424は、アドレス通知部416から送信された更新通知を受信し、受信した更新通知に基づいて、第二の記憶部421に記憶されたアドレス及び対象数を更新する。なお、第二のアドレス更新部424は、第二の記憶部421に記憶されたアドレス及び対象数を書き換えた場合には、第二の記憶部421を再起動させることによって前記したアドレス及び対象数を更新する。   The second address update unit 424 receives the update notification transmitted from the address notification unit 416, and updates the address and the number of objects stored in the second storage unit 421 based on the received update notification. In addition, when the second address updating unit 424 rewrites the address and the number of objects stored in the second storage unit 421, the second address updating unit 424 restarts the second storage unit 421 so that the address and the number of objects described above are restarted. Update.

制御対象情報送信部425は、制御対象430であるモータ、センサ等から出力された現在値である制御対象情報を取得し、取得された制御対象情報を主制御ユニット410の制御対象情報取得部417へ送信する。   The control target information transmission unit 425 acquires control target information that is the current value output from the motor, sensor, or the like that is the control target 430, and uses the acquired control target information as the control target information acquisition unit 417 of the main control unit 410. Send to.

<分散制御システムの動作例>
続いて、分散制御システム400の動作例について、図8を参照し、副制御ユニット420Bにモータ430B−3が追加接続された場合を例にとって説明する(適宜図4〜図7参照)。
<Operation example of distributed control system>
Next, an operation example of the distributed control system 400 will be described with reference to FIG. 8 and a case where a motor 430B-3 is additionally connected to the sub control unit 420B as an example (see FIGS. 4 to 7 as appropriate).

<主制御ユニットの動作例>
まず、作業者がロボットRの副制御ユニット420Bに新たなモータ430B−3を接続し、外部端末500にその旨を入力する。主制御ユニット410の第一のアドレス更新部415が外部端末500によって送信された増減指示を受信すると(ステップS11でYes)、第一のアドレス更新部415は、増減指示に基づいて新たな制御データ構造体を生成するとともに新たなアドレスを算出し(ステップS12)、第一の記憶部411に記憶させ、第一の記憶部411を再起動させる。これにより、第一の記憶部411に記憶された制御データ構造体及びアドレスが更新される。なお、ステップS11でNoの場合は、本フローはステップS14に移行する。
<Operation example of main control unit>
First, the worker connects a new motor 430B-3 to the sub-control unit 420B of the robot R, and inputs that fact to the external terminal 500. When the first address update unit 415 of the main control unit 410 receives the increase / decrease instruction transmitted by the external terminal 500 (Yes in step S11), the first address update unit 415 generates new control data based on the increase / decrease instruction. A structure is generated and a new address is calculated (step S12), stored in the first storage unit 411, and the first storage unit 411 is restarted. Thereby, the control data structure and the address stored in the first storage unit 411 are updated. In the case of No in step S11, this flow moves to step S14.

ステップS12に続いて、第一のアドレス更新部415は、第一の記憶部411を参照して副制御ユニット420ごとの更新通知を生成し、第一のアドレス通知部416へ出力する。
続いて、アドレス通知部416は、更新通知を各副制御ユニット420へ送信する(ステップS13)。
Subsequent to step S <b> 12, the first address update unit 415 generates an update notification for each sub control unit 420 with reference to the first storage unit 411, and outputs the update notification to the first address notification unit 416.
Subsequently, the address notification unit 416 transmits an update notification to each sub control unit 420 (step S13).

続いて、制御データ生成部412が制御データを生成して制御データ送信部414へ出力し、制御データ送信部414は、送信タイミングに応じて制御データを全副制御ユニット420に対してブロードキャスト送信し(ステップS14)、その後、本フローはステップS11に移行する。   Subsequently, the control data generation unit 412 generates control data and outputs the control data to the control data transmission unit 414. The control data transmission unit 414 broadcasts the control data to all the sub control units 420 according to the transmission timing ( Step S14), and then the flow proceeds to Step S11.

<副制御ユニットの動作例>
一方、副制御ユニット420の第二のアドレス更新部424がアドレス通知部416から送信された更新通知を受信すると(ステップS21でYes)、第二のアドレス更新部424は、更新通知に含まれる先頭のアドレス及び対象数を第二の記憶部421に記憶させ、第二の記憶部421を再起動させることによって、第二の記憶部421における先頭のアドレス及び対象数を更新する(ステップS22)。ここで、図7に示すように、副制御ユニット420Bの第二の記憶部421では、対象数が「2」から「3」に更新され、副制御ユニット420Cの第二の記憶部421では、先頭のアドレスが「4」から「5」に更新され、それ以降の副制御ユニット420の第二の記憶部421でも、先頭のアドレスが1つ大きい数に更新される。なお、ステップS21でNoの場合は、本フローはステップS23に移行する。
<Operation example of sub-control unit>
On the other hand, when the second address update unit 424 of the sub control unit 420 receives the update notification transmitted from the address notification unit 416 (Yes in step S21), the second address update unit 424 includes the head included in the update notification. Are stored in the second storage unit 421, and the second storage unit 421 is restarted to update the leading address and the target number in the second storage unit 421 (step S22). Here, as shown in FIG. 7, in the second storage unit 421 of the sub-control unit 420B, the number of objects is updated from “2” to “3”, and in the second storage unit 421 of the sub-control unit 420C, The leading address is updated from “4” to “5”, and the leading address is also updated to a larger number in the second storage unit 421 of the sub-control unit 420 thereafter. In the case of No in step S21, this flow moves to step S23.

続いて、個別制御データ取得部422が制御データ送信部414によって送信された制御データを受信すると(ステップS23でYes)、個別制御データ取得部422は、第二の記憶部421の記憶内容を参照して当該副制御ユニット420に接続された制御対象430の個別制御データのみを取得し(ステップS24)、制御対象制御部423へ出力する。例えば、図7に示すように、変更前の副制御ユニット420Bでは、先頭のアドレスが「2」、対象数が「2」であるので、個別制御データ取得部422は、制御データに含まれる3,4番目の個別制御データを取得するのに対し、変更後の副制御ユニット420Bでは、先頭のアドレスが「2」、対象数が「3」であるので、個別制御データ取得部422は、制御データに含まれる3〜5番目の個別制御データを取得する。なお、ステップS23でNoの場合は、本フローはステップS21に移行する。   Subsequently, when the individual control data acquisition unit 422 receives the control data transmitted by the control data transmission unit 414 (Yes in step S23), the individual control data acquisition unit 422 refers to the storage content of the second storage unit 421. Then, only the individual control data of the control object 430 connected to the sub control unit 420 is acquired (step S24) and output to the control object control unit 423. For example, as shown in FIG. 7, in the sub-control unit 420B before the change, since the head address is “2” and the number of objects is “2”, the individual control data acquisition unit 422 is included in the control data 3 , The fourth individual control data is acquired, but in the changed sub-control unit 420B, the head address is “2” and the number of objects is “3”, so the individual control data acquisition unit 422 The third to fifth individual control data included in the data are acquired. If No in step S23, the flow moves to step S21.

続いて、制御対象制御部423は、取得された個別制御データに基づいて、制御対象430の駆動を制御する(ステップS25)、ステップS25の実行後、本フローはステップS21に移行する。   Subsequently, the control target control unit 423 controls driving of the control target 430 based on the acquired individual control data (step S25). After execution of step S25, the flow proceeds to step S21.

従来の分散制御システムにおいては、主制御ユニットが個別制御データを制御対象に付与されたアドレスとの関係に基づいて並べ替えた制御データを生成して副制御ユニットへブロードキャスト送信し、副制御ユニットがアドレスに基づいて必要な個別制御データのみを取得するという概念は無く、全ての主制御ユニット及び副制御ユニットが同じ制御データ構造体を有していた(全ての主制御ユニット及び副制御ユニットにおいて、同じ制御データ構造体がプログラム上で宣言されていた)。そのため、従来の分散制御システムにおいて制御対象又は副制御ユニットの増減を行う場合は、全ての主制御ユニット及び副制御ユニットにおいて制御データ構造体を書き換える必要があった。   In the conventional distributed control system, the main control unit generates control data in which the individual control data is rearranged based on the relationship with the address given to the control target, and broadcasts it to the sub control unit. There is no concept of acquiring only necessary individual control data based on the address, and all main control units and sub control units had the same control data structure (in all main control units and sub control units, The same control data structure was declared in the program). Therefore, when increasing or decreasing the control target or the sub control unit in the conventional distributed control system, it is necessary to rewrite the control data structure in all the main control units and the sub control units.

これに対して、本発明の実施形態に係る分散制御システム400は、主制御ユニット410から副制御ユニット420へブロードキャスト送信される制御データから副制御ユニット420が自身に接続されている制御対象430の先頭のアドレス及び対象数に基づいて必要な個別制御データのみを取得するので、移動体であるロボットRにおける制御対象430又は副制御ユニット420の増減に容易に対応することができる。なお、本システム400を起動するときにも、アドレス通知部416が制御対象430のアドレスを第一の記憶部411から読み出して副制御ユニット420の第二のアドレス更新部424へ通知され、第二のアドレス更新部424が第二の記憶部421に記憶されたアドレスを更新する。   On the other hand, the distributed control system 400 according to the embodiment of the present invention has the control target 430 to which the sub control unit 420 is connected to itself from the control data broadcast-transmitted from the main control unit 410 to the sub control unit 420. Since only necessary individual control data is acquired based on the head address and the number of objects, it is possible to easily cope with increase / decrease in the number of control objects 430 or sub-control units 420 in the robot R that is a moving body. Even when the system 400 is activated, the address notification unit 416 reads the address of the control target 430 from the first storage unit 411 and notifies the second address update unit 424 of the sub control unit 420 to the second address update unit 424. The address update unit 424 updates the address stored in the second storage unit 421.

以上、本発明の実施形態について図面を参照して説明したが、本発明は前記実施形態に限定されず、本発明の要旨を逸脱しない範囲で適宜変更可能である。例えば、第二の記憶部421には、当該副制御ユニット420に接続された全ての制御対象430のアドレスが記憶されており、第一のアドレス更新部415は、更新通知として、副制御ユニット420に接続された全ての制御対象430のアドレスを含むデータを生成する構成であってもよい。また、分散制御システム400の動作例として、制御対象430が一つ追加された場合について説明したが、分散制御システム400は、制御対象430が二つ以上追加された場合、制御対象430が一つ以上削減された場合、副制御ユニット420(及び当該副制御ユニット420に接続された一以上の制御対象430)が一つ以上追加又は削減された場合等においても、同様に動作することによって、制御対象430又は副制御ユニット420の増減に容易に対応することができる。   As mentioned above, although embodiment of this invention was described with reference to drawings, this invention is not limited to the said embodiment, In the range which does not deviate from the summary of this invention, it can change suitably. For example, the second storage unit 421 stores the addresses of all the control objects 430 connected to the sub control unit 420, and the first address update unit 415 receives the sub control unit 420 as an update notification. The configuration may be such that data including the addresses of all the control objects 430 connected to is generated. Further, as an example of the operation of the distributed control system 400, the case where one control object 430 is added has been described. However, the distributed control system 400 includes one control object 430 when two or more control objects 430 are added. When the number of sub-control units 420 (and one or more control objects 430 connected to the sub-control unit 420) is added or reduced, the control is performed in the same manner. The increase / decrease of the object 430 or the sub-control unit 420 can be easily handled.

400 分散制御システム
410 主制御ユニット
411 第一の記憶部
412 制御データ生成部
414 制御データ送信部
415 第一のアドレス更新部
416 アドレス通知部
420 副制御ユニット
421 第二の記憶部
422 個別制御データ取得部
423 制御対象制御部
424 第二のアドレス更新部
425 制御対象情報送信部
R ロボット(移動体)
400 Distributed Control System 410 Main Control Unit 411 First Storage Unit 412 Control Data Generation Unit 414 Control Data Transmission Unit 415 First Address Update Unit 416 Address Notification Unit 420 Sub Control Unit 421 Second Storage Unit 422 Individual Control Data Acquisition Unit 423 Control target control unit 424 Second address update unit 425 Control target information transmission unit R Robot (moving object)

Claims (3)

移動体に設けられた複数の制御対象を分散制御する分散制御システムであって、
前記移動体の制御のための演算処理を行う主制御ユニットと、
前記主制御ユニットと制御データの通信を行い、前記制御データに基づいて一以上の制御対象の駆動を制御する複数の副制御ユニットと、
を備え、
前記主制御ユニットは、
前記複数の副制御ユニットに対応する前記制御対象と当該制御対象に付与されたアドレスとの関係が記憶された第一の記憶部と、
各前記制御対象に関する個別制御データを前記アドレスの順に並べた前記制御データを生成する制御データ生成部と、
前記制御データをブロードキャスト方式で送信する制御データ送信部と、
を備え、
前記副制御ユニットは、
当該副制御ユニットに対応する前記制御対象の前記アドレスが記憶された第二の記憶部と、
前記第二の記憶部に記憶された前記アドレスに基づいて、前記制御データに含まれる当該副制御ユニットに対応する前記制御対象に関する前記個別制御データを取得する個別制御データ取得部と、
取得された前記個別制御データに基づいて、前記制御対象の駆動を制御する制御対象制御部と、
を備えることを特徴とする分散制御システム。
A distributed control system that performs distributed control of a plurality of control objects provided in a moving body,
A main control unit for performing arithmetic processing for controlling the moving body;
A plurality of sub-control units that communicate control data with the main control unit and control driving of one or more controlled objects based on the control data;
With
The main control unit is
A first storage unit storing a relationship between the control target corresponding to the plurality of sub-control units and an address given to the control target;
A control data generation unit that generates the control data in which individual control data related to each control target is arranged in the order of the addresses;
A control data transmission unit for transmitting the control data by a broadcast method;
With
The sub-control unit is
A second storage unit in which the address of the control target corresponding to the sub-control unit is stored;
Based on the address stored in the second storage unit, an individual control data acquisition unit that acquires the individual control data related to the control target corresponding to the sub-control unit included in the control data;
Based on the acquired individual control data, a control target control unit that controls driving of the control target;
A distributed control system comprising:
前記主制御ユニットは、
前記制御対象又は前記副制御ユニットの増減に応じて前記第一の記憶部に記憶された前記制御対象と前記アドレスとの関係を更新する第一のアドレス更新部と、
更新された前記アドレスを前記副制御ユニットへ通知するアドレス通知部と、
を備え、
前記副制御ユニットは、通知された前記アドレスに基づいて前記第二の記憶部に記憶された前記アドレスを更新する第二のアドレス更新部を備える
ことを特徴とする請求項1に記載の分散制御システム。
The main control unit is
A first address update unit that updates a relationship between the control target and the address stored in the first storage unit according to increase or decrease of the control target or the sub-control unit;
An address notification unit for notifying the sub-control unit of the updated address;
With
The distributed control according to claim 1, wherein the sub control unit includes a second address update unit that updates the address stored in the second storage unit based on the notified address. system.
前記移動体は、自律移動可能なロボットであり、
前記制御対象は、関節駆動用のモータを含む
ことを特徴とする請求項1又は請求項2に記載の分散制御システム。
The mobile body is a robot capable of autonomous movement,
The distributed control system according to claim 1, wherein the control target includes a joint driving motor.
JP2011144668A 2011-06-29 2011-06-29 Distributed control system Active JP5613114B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011144668A JP5613114B2 (en) 2011-06-29 2011-06-29 Distributed control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011144668A JP5613114B2 (en) 2011-06-29 2011-06-29 Distributed control system

Publications (2)

Publication Number Publication Date
JP2013010165A JP2013010165A (en) 2013-01-17
JP5613114B2 true JP5613114B2 (en) 2014-10-22

Family

ID=47684521

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011144668A Active JP5613114B2 (en) 2011-06-29 2011-06-29 Distributed control system

Country Status (1)

Country Link
JP (1) JP5613114B2 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9409292B2 (en) 2013-09-13 2016-08-09 Sarcos Lc Serpentine robotic crawler for performing dexterous operations
US9566711B2 (en) 2014-03-04 2017-02-14 Sarcos Lc Coordinated robotic control
JP6471021B2 (en) 2015-03-30 2019-02-13 本田技研工業株式会社 Communications system
KR102235166B1 (en) * 2015-09-21 2021-04-02 주식회사 레인보우로보틱스 A realtime robot system, an appratus for controlling a robot system, and a method for controlling a robot system
WO2019123769A1 (en) * 2017-12-19 2019-06-27 ソニー株式会社 Limb unit and robot
KR102067901B1 (en) * 2018-06-27 2020-01-17 한국로봇융합연구원 The method for implementing fast control cycle of articulated robot control algorithm considering robot dynamics and system

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000099127A (en) * 1998-09-17 2000-04-07 Nippon Telegr & Teleph Corp <Ntt> Device and method for broadcasting for robot system and recording medium where program thereof is recorded
JP2003340773A (en) * 2002-05-18 2003-12-02 Ribasuto:Kk Robot control system
JP2004088208A (en) * 2002-08-23 2004-03-18 Sony Corp Data transmission system and method therefor
JP2004351551A (en) * 2003-05-28 2004-12-16 Seiko Epson Corp Device and method for controlling robot
US7660920B2 (en) * 2005-09-30 2010-02-09 Rockwell Automation Technologies, Inc. Multi-rate optimized connection between industrial control scanner and industrial controller
JP4849340B2 (en) * 2007-04-03 2012-01-11 オムロン株式会社 Programmable controller and unit
JP2009025879A (en) * 2007-07-17 2009-02-05 Denso Wave Inc Communication system for robot device

Also Published As

Publication number Publication date
JP2013010165A (en) 2013-01-17

Similar Documents

Publication Publication Date Title
JP5613114B2 (en) Distributed control system
JP4456560B2 (en) Legged mobile robot control device, legged mobile robot, and legged mobile robot control method
JP4658892B2 (en) Mobile robot, mobile robot control device, mobile robot control method, and mobile robot control program
JP5607012B2 (en) Sign language motion generation device and communication robot
JP4856510B2 (en) Mobile robot
JP6567563B2 (en) Humanoid robot with collision avoidance and orbit return capability
EP1671758B1 (en) Robot system for carrying an item with receiving / passing motion deciding means based on external force detection
JP4456561B2 (en) Autonomous mobile robot
JP4608472B2 (en) Mobile robot and mobile robot controller
JP4824362B2 (en) Mobile robot controller
JP4384021B2 (en) Legged robot controller
JPWO2004052597A1 (en) Robot control apparatus, robot control method, and robot control program
EP1795314A2 (en) Legged mobile robot control system
JP2003200366A (en) Robot
JP2003195886A (en) Robot
TWI555524B (en) Walking assist system of robot
JP4580226B2 (en) Robot control system
JP4281286B2 (en) Robot apparatus and control method thereof
TW200300383A (en) Two-leg type walking robot
JP2003200377A (en) Robot and method for measuring distance by robot
JP2022164028A (en) Remote operation control system, remote operation control method, and program
JP2003266341A (en) Robot device and control method therefor

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131127

TRDD Decision of grant or rejection written
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140821

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140826

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140905

R150 Certificate of patent or registration of utility model

Ref document number: 5613114

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250