JP5613114B2 - 分散制御システム - Google Patents

分散制御システム 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
English (en)
Other versions
JP2013010165A (ja
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/ja
Publication of JP2013010165A publication Critical patent/JP2013010165A/ja
Application granted granted Critical
Publication of JP5613114B2 publication Critical patent/JP5613114B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Manipulator (AREA)

Description

本発明は、ロボット等の移動体における分散制御システムに関する。
ロボット等の移動体では、複数の制御対象(例えば、モータ、センサ等)の駆動を分散制御するために、移動体の制御のための演算処理機能を有する主制御ユニットと、主制御ユニットと制御データの通信を行い、主制御ユニットの演算処理結果に基づいて一以上の制御対象の駆動を制御する複数の副制御ユニットと、を備えるシステムが知られている(特許文献1参照)。
特開2003−211380号公報(図4)
ロボット等の移動体では、仕様変更に伴い、制御対象としてのモータ、センサ等を追加したり取り外したりすることがある。しかし、特許文献1に記載されたシステムは、具体的な構成の開示がされておらず、制御対象又は副制御ユニットの増減に対応できるものではない。
本発明は、前記事情に鑑みて創作されたものであり、移動体における制御対象又は副制御ユニットの増減に容易に対応可能な分散制御システムを提供することを課題とする。
前記課題を解決するため、本発明は、移動体に設けられた複数の制御対象を分散制御する分散制御システムであって、前記移動体の制御のための演算処理を行う主制御ユニットと、前記主制御ユニットと制御データの通信を行い、前記制御データに基づいて一以上の制御対象の駆動を制御する複数の副制御ユニットと、を備え、前記主制御ユニットは、前記複数の副制御ユニットに対応する前記制御対象と当該制御対象に付与されたアドレスとの関係が記憶された第一の記憶部と、各前記制御対象に関する個別制御データを前記アドレスの順に並べた前記制御データを生成する制御データ生成部と、前記制御データをブロードキャスト方式で送信する制御データ送信部と、を備え、前記副制御ユニットは、当該副制御ユニットに対応する前記制御対象の前記アドレスが記憶された第二の記憶部と、前記第二の記憶部に記憶された前記アドレスに基づいて、前記制御データに含まれる当該副制御ユニットに対応する前記制御対象に関する前記個別制御データを取得する個別制御データ取得部と、取得された前記個別制御データに基づいて、前記制御対象の駆動を制御する制御対象制御部と、を備えることを特徴とする。
かかる構成によると、主制御ユニットから副制御ユニットへブロードキャスト送信される制御データに含まれる個別制御データにアドレスが付与されており、副制御ユニットが自身に接続されている制御対象のアドレスに基づいて必要な個別制御データのみを取得するので、分散制御システムは、移動体における制御対象又は副制御ユニットの増減に容易に対応することができる。
前記主制御ユニットは、前記制御対象又は前記副制御ユニットの増減に応じて前記第一の記憶部に記憶された前記制御対象と前記アドレスとの関係を更新する第一のアドレス更新部と、更新された前記アドレスを前記副制御ユニットへ通知するアドレス通知部と、を備え、前記副制御ユニットは、通知された前記アドレスに基づいて前記第二の記憶部に記憶された前記アドレスを更新する第二のアドレス更新部を備えることが望ましい。
また、前記移動体は、自律移動可能なロボットであり、前記制御対象は、関節駆動用のモータを含む構成であってもよい。
本発明によれば、移動体における制御対象又は副制御ユニットの増減に容易に対応することができる。
本発明の実施形態に係るロボットの外観を示す側面図である。 図1のロボットの内部構造を模式的に示す斜視図である。 図1のロボットを示すブロック図である。 本発明の実施形態に係る分散制御システムを示すブロック図である。 図4の主制御ユニット及び副制御ユニットの構成を示すブロック図である。 (a)は、変更前の制御データ構造体を示す図、(b)は、変更後の制御データ構造体を示す図である。 制御対象の増減について説明するための図であり、変更前後の制御データ構造体及びアドレスと、各副制御ユニットにおける変更前後の先頭の制御対象のアドレス及び対象数と、を示す図である。 本発明の実施形態に係る分散制御システムの動作例を説明するための図である。
本発明の実施形態について、図面を参照して詳細に説明する。説明において、同一の要素には同一の番号を付し、重複する説明は省略する。
(ロボットRの構成)
まず、本発明の実施形態に係るロボットRについて説明する。以下の説明において、ロボットRの前後方向にX軸、左右方向にY軸、上下方向にZ軸をとる(図1参照)。本発明の実施形態に係るロボットRは、自律移動型の2足移動ロボットである。このロボットRは、外部のロボット管理装置から送信された実行命令信号に基づき、タスクを実行するものである。
図1は、ロボットの外観を示す模式図である。図1に示すように、ロボットRは、人間と同じように2本の脚部R1(1本のみ図示)により起立、移動(歩行、走行など)し、上体部R2、2本の腕部R3(1本のみ図示)及び頭部R4を備え、自律して移動する。また、ロボットRは、これら脚部R1、上体部R2、腕部R3及び頭部R4の動作を制御する制御装置搭載部R5を背負う形で背中(上体部R2の後部)に備えている。
(ロボットRの駆動構造)
続いて、ロボットRの駆動構造について説明する。図2は、図1のロボットの駆動構造を模式的に示す斜視図である。なお、図2における関節部は、当該関節部を駆動する電動モータにより示されている。
(脚部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が取り付けられている。
すなわち、脚部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で連結されている。
(上体部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を備えている。
(腕部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が取り付けられている。
すなわち、腕部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)で連結されている。
(頭部R4)
図2に示すように、頭部R4は、首部(頭部R4と上体部R2との連結部分)のY軸まわりの首関節部41と、首部のZ軸まわりの首関節部42と、を備えている。首関節部41は頭部R4のチルト角を設定するためのものであり、首関節部42は頭部R4のパンを設定するためのものである。
このような構成により、左右の脚部R1は合計12の自由度を与えられ、移動中に12個の関節部11R(L)〜16R(L)を適宜な角度で駆動することで、脚部R1に所望の動きを与えることができ、ロボットRが任意に3次元空間を移動することができる。また、左右の腕部R3は合計14の自由度を与えられ、14個の関節部31R(L)〜37R(L)を適宜な角度で駆動することで、ロボットRが所望の作業を行うことができる。
また、足首関節部15R(L),16R(L)と足部17R(L)との間には、公知の6軸力センサ61R(L)が設けられている。6軸力センサ61R(L)は、床面からロボットRに作用する床反力の3方向成分Fx,Fy,Fzと、モーメントの3方向成分Mx,My,Mzと、を検出する。
また、手首関節部36R(L),37R(L)と把持部71R(L)との間には、公知の6軸力センサ62R(L)が設けられている。6軸力センサ62R(L)は、ロボットRの把持部71R(L)に作用する反力の3方向成分Fx,Fy,Fzと、モーメントの3方向成分Mx,My,Mzと、を検出する。
また、上体部R2には、傾斜センサ63が設けられている。傾斜センサ63は、上体部R2の重力軸(Z軸)に対する傾きと、その角速度と、を検出する。
また、各関節部の電動モータは、その出力を減速・増力する減速機(図示せず)を介して前記した大腿リンク51R(L)、下腿リンク52R(L)などを相対変位させる。これら各関節部の角度は、関節角度検出手段(例えば、ロータリエンコーダ)によって検出される。
制御装置搭載部R5は、後記する自律移動制御部150、把持部制御部160、無線通信部170、主制御部200、バッテリ(図示せず)などを収納している。各センサ61〜63などの検出データは、制御装置搭載部R5内の各制御部に送られる。また、各電動モータは、各制御部からの駆動指示信号により駆動される。
図3は、図1のロボットを示すブロック図である。図3に示すように、ロボットRは、脚部R1、腕部R3及び頭部R4に加えて、カメラC,C、スピーカS、マイクMC,MC、画像処理部100、音声処理部110、対象検知部120、自律移動制御部150、把持部制御部160、無線通信部170、主制御部200及び記憶部300を備えている。
また、ロボットRは、ジャイロセンサSR1及びGPS受信器SR2を備えている。
ジャイロセンサSR1は、ロボットRの向きに関するデータ(向きデータ)を検出する。また、GPS受信器SR2は、ロボットRの位置に関するデータ(位置データ)を検出する。ジャイロセンサSR1及びGPS受信器SR2が検出したデータは、主制御部200に出力され、ロボットRの行動を決定するために利用されると共に、主制御部200から無線通信部170を介してロボット管理装置3に送信される。
[カメラ]
カメラC,Cは、映像をデジタルデータとして取り込むことができるものであり、例えばカラーCCD(Charge-Coupled Device)カメラが使用される。カメラC,Cは、左右に平行に並んで配置され、撮影した画像は画像処理部100に出力される。このカメラC,Cと、スピーカS及びマイクMC,MCは、いずれも頭部R4の内部に配設される。
[画像処理部]
画像処理部100は、カメラC,Cが撮影した画像を処理して、撮影された画像からロボットRの周囲の状況を把握するため、周囲の障害物や人物の認識を行う部分である。この画像処理部100は、ステレオ処理部101、移動体抽出部102及び顔認識部103を備えている。
ステレオ処理部101は、左右のカメラC,Cが撮影した2枚の画像の一方を基準としてパターンマッチングを行い、左右の画像中の対応する各画素の視差を計算して視差画像を生成し、生成した視差画像及び元の画像を移動体抽出部102に出力する。なお、この視差は、ロボットRから撮影された物体までの距離を表すものである。
移動体抽出部102は、ステレオ処理部101から出力されたデータに基づき、撮影した画像中の移動体を抽出するものである。移動する物体(移動体)を抽出するのは、移動する物体は人物であると推定して、人物の認識をするためである。
移動体の抽出をするために、移動体抽出部102は、過去の数フレーム(コマ)の画像を記憶しており、最も新しいフレーム(画像)と、過去のフレーム(画像)を比較して、パターンマッチングを行い、各画素の移動量を計算し、移動量画像を生成する。そして、視差画像と、移動量画像とから、カメラC,Cから所定の距離範囲内で、移動量の多い画素がある場合に、その位置に人物がいると推定し、その所定距離範囲のみの視差画像として、移動体を抽出し、顔認識部103へ移動体の画像を出力する。
また、移動体抽出部102は、抽出した移動体の高さ、すなわち身長を算出し、顔認識部103へ出力する。
顔認識部103は、抽出した移動体から肌色の部分を抽出して、その大きさ、形状などから顔の位置を認識する。なお、同様にして、肌色の領域と、大きさ、形状などから手の位置も認識される。
認識された顔の位置は、ロボットRが移動するときの情報として、また、その人とのコミュニケーションを取るため、主制御部200に出力されると共に、無線通信部170に出力されて、基地局1を介して、ロボット管理装置3に送信される。
[スピーカ]
スピーカSは、後記する音声合成部111により生成された音声データに基づき、音声を出力する。
[マイク]
マイクMC,MCは、ロボットRの周囲の音を集音するものである。集音された音は、後記する音声認識部112及び音源定位部113に出力される。
[音声処理部]
音声処理部110は、音声合成部111、音声認識部112及び音源定位部113を備えている。
音声合成部111は、主制御部200が決定し、出力してきた発話行動の指令に基づき、文字情報から音声データを生成し、スピーカSに音声を出力する部分である。音声データの生成には、予め記憶している文字情報と音声データとの対応関係を利用する。
音声認識部112は、マイクMC,MCから音声データが入力され、予め記憶している音声データと文字情報との対応関係に基づき、音声データから文字情報を生成し、主制御部200に出力するものである。
音源定位部113は、マイクMC,MC間の音圧差及び音の到達時間差に基づいて、音源の位置(ロボットRからの距離及び方向)を特定する。
[対象検知部]
対象検知部120は、ロボットRの周囲に検知用タグを備える検知対象(例えば、ヒト)が存在するか否かを検知すると共に、検知対象の存在が検知された場合、当該検知対象の位置を特定するものである。
[自律移動制御部]
自律移動制御部150は、頭部制御部151、腕部制御部152及び脚部制御部153を備えている。頭部制御部151は、主制御部200の指示に従い頭部R4を駆動し、腕部制御部152は、主制御部200の指示に従い腕部R3を駆動し、脚部制御部153は、主制御部200の指示に従い脚部R1を駆動する。
[把持部制御部]
把持部制御部160は、主制御部200の指示に従い、ロボットハンドである把持部71を駆動する。
[無線通信部]
無線通信部170は、ロボット管理装置3とデータの送受信を行う通信装置である。無線通信部170は、公衆回線通信装置171および無線通信装置172を備えている。
公衆回線通信装置171は、携帯電話回線やPHS(Personal Handyphone System)回線などの公衆回線を利用した無線通信手段である。一方、無線通信装置172は、IEEE802.11b規格に準拠するワイヤレスLANなどの、近距離無線通信による無線通信手段である。
無線通信部170は、ロボット管理装置3からの接続要求に従い、公衆回線通信装置171または無線通信装置172を選択してロボット管理装置3とデータ通信を行う。
[主制御部及び記憶部]
記憶部300には、ロボットRが移動するエリアの地形(壁位置、机位置など)に関するデータ(地図データ)、ロボットRが発話するためのデータ(発話データ)等が記憶されている。主制御部200は、ロボット管理装置3によって送信されたタスクを取得し、取得されたタスクと、ジャイロセンサSR1及びGPS受信器SR2によって検出されたデータと、に基づいて、ロボットRの行動を決定し、決定された内容を自律移動制御部150及び把持部制御部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と、を備える。
主制御ユニット410は、図3における自律移動制御部150及び把持部制御部160に相当し、ロボットRの制御のための演算処理を行って全制御対象430に関する個別制御データを含む制御データを生成し、生成された制御データを副制御ユニット420へ送信する。
副制御ユニット420は、主制御ユニット410と制御データの通信を行い、主制御ユニット410から送信された制御データを受信し、受信した制御データに基づいて、当該副制御ユニット420に通信可能に接続された一以上の制御対象430の駆動を制御する。
副制御ユニット420Aは、例えば図3における頭部R4に設けられたモータドライバとしてのECU(Electronic Control Unit)であり、頭部R4に設けられた首関節部41,42用のモータの駆動を制御する。以下、説明の簡略化のため、副制御ユニット420Aには二つのモータ430A−1,430A−2が通信可能に接続されているものとする。
副制御ユニット420Bは、例えば図3における右側の腕部R3に設けられたモータドライバとしてのECUであり、腕部R3に設けられた肩関節部31R,32R,33R用のモータの駆動を制御する。以下、説明の簡略化のため、副制御ユニット420Bには二つのモータ430B−1,430B−2が通信可能に接続されているものとする。
副制御ユニット420Cは、例えば図3における右側の腕部R3に設けられたモータドライバとしてのECUであり、腕部R3に設けられた肘関節部34R及び腕関節部35R用のモータの駆動を制御する。以下、説明の簡略化のため、副制御ユニット420Cには二つのモータ430C−1,430C−2が通信可能に接続されているものとする。
副制御ユニット420Dは、センサ用ECUであり、ロボットRのセンサ(例えば、右側の腕部R3に設けられた6軸力センサ等)の駆動を制御する。以下、説明の簡略化のため、副制御ユニット420Dには二つのセンサ430D−1,430D−2が通信可能に接続されているものとする。かかる副制御ユニット420Dは、個別制御データに基づいて、センサ430D−1,430D−2のゲイン値、サンプリング周期等を変更することができる。
副制御ユニット420Nは、インターフェース用ECUであり、ロボットRに取り付けられたデバイス(例えば、LED、ブザー等)の駆動を制御する。以下、説明の簡略化のため、副制御ユニット420Nには二つのデバイス430N−1,430N−2が通信可能に接続されているものとする。
続いて、図5〜図7を参照して、主制御ユニット410及び副制御ユニット420の詳細構成について説明する。図5は、主制御ユニット及び副制御ユニットの構成を示すブロック図であり、図6(a)は、変更前の制御データ構造体を示す図、図6(b)は、変更後の制御データ構造体を示す図であり、図7は、制御対象の増減について説明するための図であり、変更前後の制御データ構造体及びアドレスと、各副制御ユニットにおける変更前後の先頭の制御対象のアドレス及び対象数と、を示す図である。
<主制御ユニットの構成>
図5に示すように、主制御ユニット410は、機能部として、第一の記憶部411と、制御データ生成部412と、タイミング決定部413と、制御データ送信部414と、第一のアドレス更新部415と、アドレス通知部416と、制御対象情報取得部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の起動時のみ機能する。
制御データ生成部412は、後記する指令値生成部201から送信された指令値を受信し、受信した指令値(個別制御データ)を、第一の記憶部411に記憶された、制御対象430と当該制御対象430に付与されたアドレスとの関係に基づいて並べ替えた制御データを生成し、制御データ送信部414へ出力する。ここで、主制御ユニット410の制御対象情報取得部417は、後記する各副制御ユニット420の制御対象送信部425によって送信された各制御対象情報をバラバラの順に取得して主制御部200の指令値生成部201へ送信する。指令値生成部201は、生成された各指令値をバラバラの順で主制御ユニット410の制御データ生成部412へ送信するため、制御データ生成部412は、各指令値をバラバラの順で取得することになる。したがって、制御データ生成部412は、制御データを生成する際に、バラバラの順で取得された各指令値(個別制御データ)を、第一の記憶部411に記憶された制御データ構造体の順に並べ替える。
タイミング決定部413は、移動体であるロボットRの制御対象430の全体の制御タイミング(全ての制御対象の同期基準)を決定し、制御データ送信部414へ出力する。かかる制御タイミングの決定に関しては、公知の技術を採用可能であるため、詳細な説明を省略する。
制御データ送信部414は、制御データ生成部412によって生成された制御データ、及び、タイミング決定部413によって決定された送信タイミングを取得し、取得された制御データを取得された送信タイミングで、全ての副制御ユニット420に対してブロードキャスト送信する。
第一のアドレス更新部415は、制御対象430の増減が行われた場合に、外部端末500から送信された増減通知を受信し、受信した増減通知に基づいて第一の記憶部411に記憶された制御対象430とアドレスとの関係を更新する。かかる増減通知は、どの副制御ユニット420の制御対象430が増減したかを含むデータである。なお、外部端末500は、図3のロボット管理装置3であって、基地局1、無線通信部170及び主制御部200を介して主制御ユニットの第一のアドレス更新部415と通信可能に接続される構成であってもよい。
より詳細には、第一のアドレス更新部415は、増減通知に基づいて制御データ構造体を生成し直すとともに、複数の制御対象430のアドレスを算出し直し、新たな制御データ構造体及びアドレスを第一の記憶部411に記憶させる。例えば、副制御ユニット420Bに新たな制御対象(モータ)430B−3が接続された場合には、第一のアドレス更新部415は、第一の記憶部411に記憶された変更前の制御データ構造体(図6(a)参照)を読み出し、これに制御対象430B−3の個別制御データの場所を追加した変更後の制御データ構造体(図6(b)参照)を生成し、変更後の制御データ構造体にアドレスを付与し直して、変更度の制御データ構造体及びアドレスを第一の記憶部411に記憶させる。
また、第一のアドレス更新部415は、第一の記憶部411に記憶された制御対象430とアドレスとの関係を更新した場合に、更新されたアドレスを含む更新通知をアドレス通知部416へ出力する。本実施形態において、更新通知は、副制御ユニット420ごとに生成されており、当該副制御ユニット420の接続された先頭の制御対象430のアドレスと対象数とを含むデータである。
なお、第一のアドレス更新部415は、第一の記憶部411に記憶された制御対象430とアドレスとの関係を書き換えた場合には、第一の記憶部411を再起動させることによって前記した関係を更新する。
アドレス通知部416は、第一のアドレス更新部415から出力された更新通知を取得し、取得された更新通知を各副制御ユニット420へ送信する。
制御対象情報取得部417は、後記する副制御ユニット420の制御対象情報送信部425によって送信された制御対象情報を取得し、主制御部200の指令値生成部201へ転送する。
なお、主制御部200の指令値生成部201は、制御対象情報取得部417によって転送された制御対象情報を取得し、ロボットRが実行すべきタスクの内容、及び、取得された制御対象情報に基づいて、フィードバック制御等の手法を用いて各制御対象の制御量を生成し、指令値として主制御ユニット410の制御データ生成部412へ送信する。
<副制御ユニット420の構成>
副制御ユニット420は、モータドライバとしてのECU、センサ用ECU、インターフェース用ECU等といった、個別制御データに基づいて当該副制御ユニット420に接続された制御対象430の駆動を直接制御するものであって、機能部として、第二の記憶部421と、個別制御データ取得部422と、制御対象制御部423と、第二のアドレス更新部424と、制御対象情報送信部425と、を備える。
第二の記憶部421には、当該副制御ユニット420に対応する制御対象430のアドレスが記憶されている。本実施形態では、図7の「変更前」に記載されているように、副制御ユニット420の先頭の制御対象430のアドレスと当該副制御ユニット420に接続された制御対象430の数(対象数)とが関連付けて記憶されている。例えば、副制御ユニット420Aの第二の記憶部421には、先頭の制御対象430のアドレス「0」と対象数「2」とが関連付けて記憶されており、副制御ユニット420Bの第二の記憶部421には、先頭の制御対象430のアドレス「2」と対象数「2」とが関連付けて記憶されている。なお、図7では、制御データ構造体のうち、各副制御ユニット420A,B,C,…,Nの「変更前」及び「変更後」の対応制御対象430の個別制御データが格納される部分が太線枠で示されている。
個別制御データ取得部422は、制御データ送信部414によって送信された制御データを受信し、第二の記憶部421に記憶されたアドレス及び対象数を参照することによって、制御データの中から該当する個別制御データを取得し、残りの個別制御データを破棄する。取得された個別制御データは、制御対象制御部423へ出力される。
例えば、図7に示す副制御ユニット420Aの個別制御データ422は、第二の記憶部421に記憶されたアドレスが「0」、対象数が「2」であるため、制御データのうち、1,2番目の個別制御データを取得する。
制御対象制御部423は、個別制御データ取得部422から出力された個別制御データを取得し、取得された個別制御データに基づいて、副制御ユニット420に接続された制御対象430の駆動を制御する。個別制御データは、前記した指令値等であって、例えば、制御対象430がモータである場合には、制御対象制御部423は、個別制御データであるモータの目標回転数と実際の回転数が一致するように、当該モータの駆動を制御する。
第二のアドレス更新部424は、アドレス通知部416から送信された更新通知を受信し、受信した更新通知に基づいて、第二の記憶部421に記憶されたアドレス及び対象数を更新する。なお、第二のアドレス更新部424は、第二の記憶部421に記憶されたアドレス及び対象数を書き換えた場合には、第二の記憶部421を再起動させることによって前記したアドレス及び対象数を更新する。
制御対象情報送信部425は、制御対象430であるモータ、センサ等から出力された現在値である制御対象情報を取得し、取得された制御対象情報を主制御ユニット410の制御対象情報取得部417へ送信する。
<分散制御システムの動作例>
続いて、分散制御システム400の動作例について、図8を参照し、副制御ユニット420Bにモータ430B−3が追加接続された場合を例にとって説明する(適宜図4〜図7参照)。
<主制御ユニットの動作例>
まず、作業者がロボットRの副制御ユニット420Bに新たなモータ430B−3を接続し、外部端末500にその旨を入力する。主制御ユニット410の第一のアドレス更新部415が外部端末500によって送信された増減指示を受信すると(ステップS11でYes)、第一のアドレス更新部415は、増減指示に基づいて新たな制御データ構造体を生成するとともに新たなアドレスを算出し(ステップS12)、第一の記憶部411に記憶させ、第一の記憶部411を再起動させる。これにより、第一の記憶部411に記憶された制御データ構造体及びアドレスが更新される。なお、ステップS11でNoの場合は、本フローはステップS14に移行する。
ステップS12に続いて、第一のアドレス更新部415は、第一の記憶部411を参照して副制御ユニット420ごとの更新通知を生成し、第一のアドレス通知部416へ出力する。
続いて、アドレス通知部416は、更新通知を各副制御ユニット420へ送信する(ステップS13)。
続いて、制御データ生成部412が制御データを生成して制御データ送信部414へ出力し、制御データ送信部414は、送信タイミングに応じて制御データを全副制御ユニット420に対してブロードキャスト送信し(ステップS14)、その後、本フローはステップ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に移行する。
続いて、個別制御データ取得部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に移行する。
続いて、制御対象制御部423は、取得された個別制御データに基づいて、制御対象430の駆動を制御する(ステップS25)、ステップS25の実行後、本フローはステップS21に移行する。
従来の分散制御システムにおいては、主制御ユニットが個別制御データを制御対象に付与されたアドレスとの関係に基づいて並べ替えた制御データを生成して副制御ユニットへブロードキャスト送信し、副制御ユニットがアドレスに基づいて必要な個別制御データのみを取得するという概念は無く、全ての主制御ユニット及び副制御ユニットが同じ制御データ構造体を有していた(全ての主制御ユニット及び副制御ユニットにおいて、同じ制御データ構造体がプログラム上で宣言されていた)。そのため、従来の分散制御システムにおいて制御対象又は副制御ユニットの増減を行う場合は、全ての主制御ユニット及び副制御ユニットにおいて制御データ構造体を書き換える必要があった。
これに対して、本発明の実施形態に係る分散制御システム400は、主制御ユニット410から副制御ユニット420へブロードキャスト送信される制御データから副制御ユニット420が自身に接続されている制御対象430の先頭のアドレス及び対象数に基づいて必要な個別制御データのみを取得するので、移動体であるロボットRにおける制御対象430又は副制御ユニット420の増減に容易に対応することができる。なお、本システム400を起動するときにも、アドレス通知部416が制御対象430のアドレスを第一の記憶部411から読み出して副制御ユニット420の第二のアドレス更新部424へ通知され、第二のアドレス更新部424が第二の記憶部421に記憶されたアドレスを更新する。
以上、本発明の実施形態について図面を参照して説明したが、本発明は前記実施形態に限定されず、本発明の要旨を逸脱しない範囲で適宜変更可能である。例えば、第二の記憶部421には、当該副制御ユニット420に接続された全ての制御対象430のアドレスが記憶されており、第一のアドレス更新部415は、更新通知として、副制御ユニット420に接続された全ての制御対象430のアドレスを含むデータを生成する構成であってもよい。また、分散制御システム400の動作例として、制御対象430が一つ追加された場合について説明したが、分散制御システム400は、制御対象430が二つ以上追加された場合、制御対象430が一つ以上削減された場合、副制御ユニット420(及び当該副制御ユニット420に接続された一以上の制御対象430)が一つ以上追加又は削減された場合等においても、同様に動作することによって、制御対象430又は副制御ユニット420の増減に容易に対応することができる。
400 分散制御システム
410 主制御ユニット
411 第一の記憶部
412 制御データ生成部
414 制御データ送信部
415 第一のアドレス更新部
416 アドレス通知部
420 副制御ユニット
421 第二の記憶部
422 個別制御データ取得部
423 制御対象制御部
424 第二のアドレス更新部
425 制御対象情報送信部
R ロボット(移動体)

Claims (3)

  1. 移動体に設けられた複数の制御対象を分散制御する分散制御システムであって、
    前記移動体の制御のための演算処理を行う主制御ユニットと、
    前記主制御ユニットと制御データの通信を行い、前記制御データに基づいて一以上の制御対象の駆動を制御する複数の副制御ユニットと、
    を備え、
    前記主制御ユニットは、
    前記複数の副制御ユニットに対応する前記制御対象と当該制御対象に付与されたアドレスとの関係が記憶された第一の記憶部と、
    各前記制御対象に関する個別制御データを前記アドレスの順に並べた前記制御データを生成する制御データ生成部と、
    前記制御データをブロードキャスト方式で送信する制御データ送信部と、
    を備え、
    前記副制御ユニットは、
    当該副制御ユニットに対応する前記制御対象の前記アドレスが記憶された第二の記憶部と、
    前記第二の記憶部に記憶された前記アドレスに基づいて、前記制御データに含まれる当該副制御ユニットに対応する前記制御対象に関する前記個別制御データを取得する個別制御データ取得部と、
    取得された前記個別制御データに基づいて、前記制御対象の駆動を制御する制御対象制御部と、
    を備えることを特徴とする分散制御システム。
  2. 前記主制御ユニットは、
    前記制御対象又は前記副制御ユニットの増減に応じて前記第一の記憶部に記憶された前記制御対象と前記アドレスとの関係を更新する第一のアドレス更新部と、
    更新された前記アドレスを前記副制御ユニットへ通知するアドレス通知部と、
    を備え、
    前記副制御ユニットは、通知された前記アドレスに基づいて前記第二の記憶部に記憶された前記アドレスを更新する第二のアドレス更新部を備える
    ことを特徴とする請求項1に記載の分散制御システム。
  3. 前記移動体は、自律移動可能なロボットであり、
    前記制御対象は、関節駆動用のモータを含む
    ことを特徴とする請求項1又は請求項2に記載の分散制御システム。
JP2011144668A 2011-06-29 2011-06-29 分散制御システム Active JP5613114B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011144668A JP5613114B2 (ja) 2011-06-29 2011-06-29 分散制御システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011144668A JP5613114B2 (ja) 2011-06-29 2011-06-29 分散制御システム

Publications (2)

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

Family

ID=47684521

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011144668A Active JP5613114B2 (ja) 2011-06-29 2011-06-29 分散制御システム

Country Status (1)

Country Link
JP (1) JP5613114B2 (ja)

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 (ja) 2015-03-30 2019-02-13 本田技研工業株式会社 通信システム
KR102235166B1 (ko) 2015-09-21 2021-04-02 주식회사 레인보우로보틱스 실시간 로봇 시스템, 로봇 시스템 제어 장치 및 로봇 시스템 제어 방법
WO2019123769A1 (ja) * 2017-12-19 2019-06-27 ソニー株式会社 肢ユニット、および、ロボット
KR102067901B1 (ko) * 2018-06-27 2020-01-17 한국로봇융합연구원 다관절로봇을 위한 동역학 적용 알고리즘의 고속 제어주기 구현 방법 및 시스템

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000099127A (ja) * 1998-09-17 2000-04-07 Nippon Telegr & Teleph Corp <Ntt> ロボットシステム用一斉同報装置および方法とそのプログラムを記録した記録媒体
JP2003340773A (ja) * 2002-05-18 2003-12-02 Ribasuto:Kk ロボット制御システム
JP2004088208A (ja) * 2002-08-23 2004-03-18 Sony Corp データ伝送システム及びデータ伝送方法
JP2004351551A (ja) * 2003-05-28 2004-12-16 Seiko Epson Corp ロボットの制御装置およびロボットの制御方法
US7660920B2 (en) * 2005-09-30 2010-02-09 Rockwell Automation Technologies, Inc. Multi-rate optimized connection between industrial control scanner and industrial controller
JP4849340B2 (ja) * 2007-04-03 2012-01-11 オムロン株式会社 プログラマブルコントローラ及びユニット
JP2009025879A (ja) * 2007-07-17 2009-02-05 Denso Wave Inc ロボット装置の通信システム

Also Published As

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

Similar Documents

Publication Publication Date Title
JP5613114B2 (ja) 分散制御システム
JP4456560B2 (ja) 脚式移動ロボット制御装置および脚式移動ロボット、並びに、脚式移動ロボット制御方法
JP4658892B2 (ja) 移動ロボット、並びに、移動ロボットの制御装置、移動ロボットの制御方法及び移動ロボットの制御プログラム
JP5607012B2 (ja) 手話動作生成装置及びコミュニケーションロボット
JP4856510B2 (ja) 移動ロボット
JP6567563B2 (ja) 衝突回避および軌道復帰能力を有する人型ロボット
EP1671758B1 (en) Robot system for carrying an item with receiving / passing motion deciding means based on external force detection
JP4456561B2 (ja) 自律移動ロボット
JP4608472B2 (ja) 移動ロボット及び移動ロボットの制御装置
JP4824362B2 (ja) 移動ロボットの制御装置
WO2004052597A1 (ja) ロボット制御装置、ロボット制御方法、及びロボット制御プログラム
JP2003200366A (ja) ロボット
JP2003195886A (ja) ロボット
TWI555524B (zh) 機器人的行動輔助系統
JP4580226B2 (ja) ロボット制御システム
JP7309371B2 (ja) ロボット制御システム
JP4281286B2 (ja) ロボット装置及びその制御方法
WO2003043788A1 (fr) Robot a forme humaine de type automoteur bipede
JP2003200377A (ja) ロボット,ロボットによる測距方法
JP2022164028A (ja) 遠隔操作制御システム、遠隔操作制御方法、およびプログラム
JP2003266341A (ja) ロボット装置及びその制御方法

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