Download presentation
Presentation is loading. Please wait.
1
課題発見ゼミ 神林ゼミの研究テーマ紹介 2008年4月9日 神林 靖
2
過去の研究題目 ロボットを制御するプログラム ロボットそのもの (遺伝的アルゴリズムを使った二足歩行制御) プログラム関係(ソフトなど)
(エージェントを使ったロボットの行動制御) ロボットそのもの (遺伝的アルゴリズムを使った二足歩行制御) プログラム関係(ソフトなど) VBによる進化メトリクス 遺伝的アルゴリズムを用いた作曲支援システム(Java) ニューラルネットを用いた鉄棒ロボットのシュミレータ(C言語)
3
6つのプロジェクト 移動オブジェクト(エージェント) 移動エージェントによるロボット制御 遺伝的アルゴリズムによる歩行制御
ソフトウェアの法的保護 データと命令を分離したプログラミング エージェントを用いたネットワーク上の資源探索 GAを用いたカーナビ
4
ロボットへの応用 ロボット搭載の(非力な)コンピュータにプログラムを送り込んで作業させる。 セキュリティを気にしなくてよい。
2018/12/31 ロボットへの応用 ロボット搭載の(非力な)コンピュータにプログラムを送り込んで作業させる。 セキュリティを気にしなくてよい。 複数のロボットを組み合わせて作業させる。
5
●移動エージェントを用いた 群ロボット制御 -例
●移動エージェントを用いた 群ロボット制御 -例 サーバ 1
6
●移動エージェントを用いた 群ロボット制御 -例
●移動エージェントを用いた 群ロボット制御 -例 サーバ 1 2
7
●移動エージェントを用いた 群ロボット制御 -例
●移動エージェントを用いた 群ロボット制御 -例 サーバ 1 2
8
●移動エージェントを用いた 群ロボット制御 -例
●移動エージェントを用いた 群ロボット制御 -例 サーバ 1 2 3
9
実験中のロボット
10
鬼ごっこ 1 追跡者が逃走者を捕獲すると,chaseエージェントが捕獲されたロボットのwallエージェントに移動する. wall
escape operate chase 追跡者が逃走者を捕獲すると,chaseエージェントが捕獲されたロボットのwallエージェントに移動する.
11
鬼ごっこ 2 chaseエージェントの移動により,escapeエージェントは原追跡者のwallエージェントへと追い出される. chase
operate chase chaseエージェントの移動により,escapeエージェントは原追跡者のwallエージェントへと追い出される.
12
鬼ごっこ 3 escapeエージェントは,原追跡者のwallエージェントに移動し,役割の交換は完了する. wall chase
operate escape escapeエージェントは,原追跡者のwallエージェントに移動し,役割の交換は完了する.
13
2018/12/31 3. Mobile Agents The multi-agent brought the following to robot control modularity reconfigurability extensibility easier the development of control systems on distributed environments Dispatched Agent Serialization and compression Arrived code (Class files) context (object state) Serialized Agent (compressed) Unserialization Uncompression Migration Network Site A Site B ロボットシステムは振る舞いだけでなくコントロール方法も飛躍的に進歩した。 Robot systems have made rapid progress in not only their behaviors but also in the way they are controlled. マルチエージェントシステムは制御システムにモジュール性、再構成性および伸長性を導入しました。 Multi-agent systems introduced modularity, reconfigurability and extensibility to control systems. それは 知的な群ロボットシステムのような分散環境の 制御システムの発展を容易にした It has made easier the development of control systems on distributed environments such as intelligent multi-robot systems. 移動エージェントは必要な機能性をもたらすことができ、そのタスクを自主的に行なうことができるので、それは他のエージェントとの相互作用の必要を縮小することができます。 Since a mobile agent can bring the necessary functionalities with it and perform its tasks autonomously, it can reduce the necessity for interaction with other sites. 最低限、移動エージェントは移動を行うときのみ通信が確立されていれば良い In the minimal case, a mobile agent requires that the connection be established only when it performs migration この図は、移動エージェントの移動の概念図です This figure shows a conceptual diagram of a mobile agent migration. This property is useful for controlling robots that have to work in a remote site with unreliable communication or intermittent communication. Diagram of a mobile agent migration
14
3.1. Each agents role User Interface Agent (UIA) : Static Agent
2018/12/31 3.1. Each agents role User Interface Agent (UIA) : Static Agent Operation Agent (OA) : Mobile Agent Position Collecting Agent (PCA) : Mobile Agent Clustering Simulation Agent (CSA) : Static Agent Destination Agent (DA) : Mobile Agent 次に私たちのメソッドのエージェントのルールについて説明します Next, I explain each agent's role in our method. UIAはユーザーインターフェースエージェントで、ホストコンピュータとユーザを相互作用させます UIA is User Interface Agent. It interact with a user and host computer. OAはオペレーションエージェントで、移動ロボットが行なうタスクを持っています。 OA is Operation Agent. It has the task that the migrating robot is supposed to perform. PCAはポジションコレクティングエージェントで、フィールドに散らばった移動ロボットを1つずつ巡り、座標を集めます PCA is a Position Collecting Agent. It traverses mobile robots scattered in the field one by one and collects their coordinates. CSAはクラスタリングシミュレータエージェントで、ACCアルゴリズムによって集合ポイントのシミュレーションを行なう。 CSA is Clustering Simulation Agent. It perform the simulation of assembly position by ACC algorithm DAはデスティネーションエージェントです。それは指定の集合場所まで移動ロボットを動かします。 DA is Destination Agent. It drives its mobile robot to the designated assembly position.
15
3.2. Overall of agent cooperation
2018/12/31 3.2. Overall of agent cooperation Host Agent Space CSA PCA UIA Create, the list of IP addresses is passed Create, robots coordinates are passed. IP list DA Create, a sequence of control commands are passed Laptop RCC ER1 OA Inquiry Coordinates Other robots User Migration Data flow この図はエージェントの協調動作の全体的なイメージです。 This figure is the overall image of agent cooperation. ロボットは様々なエージェントの協力により集合場所へ移動します。 The robot moves to assembly position with various agent’s cooperation. Next, I will explain the agent migration and that performance. ユーザはUIにIPリストを供給します。また、UIはリストをPCAへ渡します。 The user provides the IP list for UI, and UI passes the list to PCA. 次に、PCAはIPリストによってロボットに移動します。 Next, the PCA migrate to robots by the IP list. そして、PCAはOAからロボットの座標を得ます。その後、PCAは次のロボットに移動します。 And, the PCA gets the robot's coordinate from the OA, thereafter the PCA migrates to next robot. PCAはIPリストの終わりまでそれを繰り返します The PCA repeats that until the end of the IP list. PCAは全てのロボットから座標を取得し終わったら、ホストに戻りCSAを起動する When the PCA collected all robot's coordinate, that returns to the host and create the CSA. CSAはACCアルゴリズムによる最適化を行う The CSA performs the optimization by our ACC algorithm. CSAはロボット制御用のコマンドを生成し、そのコマンドをDAに渡す The CSA Creates a robot's control commands, and that the command passes to the DA DAはロボットに移動し、そのロボットを操作する The DA migrates to the robot, and the DA controls the robot. の絵をくっつけ、3.3は削除!!!!!!!!!!!!!!
16
4.The Robots team of mobile multi-robots Rechargeable battery
2018/12/31 4.The Robots Rechargeable battery Notebook computer with wireless LAN adaptor and installed “RCC” Controller module Two servomotors with tires 私たちはプロトタイプ用のプラットフォームとしてエボリューション・ロボテクス社の個人用ロボットプラットフォーム・キットER1を使用しました。 We have employed the ER1 Personal Robot Platform Kit by Evolution Robotics Inc. as the platform for our prototype. ロボットはそれぞれそのホストコンピュータとして1つのノート型コンピュータを保持します。 Each robot holds one notebook computer as its host computer. 私たちの制御用移動エージェントは無線LANによってこれらのホストコンピュータに移動します。 Our control mobile agents migrate to these host computers by wireless LAN. 1つのRCCは各ホストコンピュータ上で存在します。 One RCC resides on each host computer. RCCはER1に付属しているロボット制御のためのソフトウェアです RCC is the software for the robot control attached to ER1. この図は、モバイルの多重ロボットのチームがモバイルの代理人の管理の下で働くことを示します。 This figure shows the team of mobile multi-robots work under the control of mobile agents. team of mobile multi-robots
17
遺伝的プログラムを用いたロボット制御 遺伝的プログラムによる二足歩行のバランシングの実験 最適歩行の実験
18
二足歩行ロボット
19
細かい作業をするロボットが欲しい 二足歩行ロボットがいいかな?
20
ZMP(Zero Moment Point)
2018/12/31 ZMP(Zero Moment Point) To get ZMP from a given gait is easy. To get an optimal gait satisfying a given ZMP is difficult. ・・ ・・ ・・ ・・ ・・ つまり,床反力が常にロボットの重心に作用するようにしなければロボットは安定した歩行が行えず、結果,転倒してしまうといえます.一般に,ロボットの軌道からZMPを解析的に求めることは出来ますが,その逆問題である,あるZMPを満たすような運動軌道を求めることは,非線形で,干渉のある2階線形微分方程式を解くことになり,解の冗長性,関節による各リンクの運動拘束等の問題もあり,非常に困難です.そこで,目標ZMPを与え、遺伝的アルゴリズムによって目標ZMPを満たすような歩行パターンの生成を行います.
21
GAの実装 Phenotype Evaluation Selection Crossover New Generation Mutation
2018/12/31 GAの実装 Phenotype Evaluation Selection Crossover New Generation 生物には,染色体が遺伝情報を伝える実態として存在しています.遺伝的アルゴリズムではこれをデータ領域や配列として扱い,選択(selection),交叉(crossover),突然変異(mutation)の遺伝的操作をすることで生物の進化をシミュレーションし最適解を得ようします. 個体は構造体で定義され、それぞれ、遺伝子、適応度、重心を持っています。固体の遺伝子には一次元で要素数が10の配列を用意し、モータID0~9のAIモータ用のパラメータがセットされます。このAIモータのパラメータは関節位置により取りうる値が異なるため10個のパラメータ生成式を用いて固体生成時にランダムに生成されます。AIモータのパラメータには2種類あり333.3度を256段階で設定するモードと166.67度を256段階で設定するモードがあります、今回は関節のとりうる回転範囲が大きいので333.3度を256段階で設定するモードを用いました。 また、個体生成の段階で生成された各固体に対して、重心位置と関節位置による評価を行い、条件を満たさない固体は生成をやり直します。これによって,ランダムに生成される固体から実現できない固体を排除し,精度の良い個体群を生成することができます. 次に評価を行います 生成された固体に対して3つの評価関数を用いて適応度を算出します。 次に選択と交叉を行います 選択では、まづ、エリート選択が行われ、固体集団の中で適応度の最も高い2個体を次世代固体集団にそのままコピーします。 次に、交叉を行う個体をトーナメント選択によって選びます.トーナメント選択とは個体集団の中からランダムに選び出した個体に対して,適応度によるトーナメントを行い,より適応度の高い個体を選択するというものです.まず,個体集団の中からランダムに2個体を選び出します.次に選ばれた2個体の適応度を比較し,より高い適応度を持つ個体を第一の親とします.次に,トーナメント選択をもう一度行い第二の親を選び出します.交叉率に基いて,交叉を行うかどうかを決定します.交叉を行わない場合,選択で選ばれた両親をそのまま次世代個体集団にコピーします.交叉を行う場合,染色体のどの部位分から交叉を行うかをランダムに決定します.選ばれた個体を選ばれた場所で交叉し,新たに個体を生成します.生成された2固体を次世個体集団へコピーします.以上の手順を次世代個体集団数が上限になるまで繰り返すことで選択と交叉が行われます. 次に突然変異を行います。 次世代固体集団に対して突然変異確率にもとづいて突然変異を起こします。 突然変異とは,ある個体を別の個体に変異させてしまう事です. この時,全く形の異なる個体を作り出すのではなく, 基となる個体を少しだけ変化させて, 新しい個体を作り出す方法が一般的です.突然変異確率によって突然変異が起きるかを判定する.各個体に対して突然変異が起きるか計算され,突然変異を起こす個体が現れた場合,各モータの取りうる値と変異個所がランダムに選ばれ,選ばれた変異個所を新たな数字で書き直します. 以上の遺伝的操作を行った後に次世代固体集団を固体集団にコピーし、500回の世代交代が行われるまで繰り返されます。 一連のサイクルが終わったときに、適応度の最も高い個体のパラメータを歩行パターンとします。 Mutation Gait Ge neration
22
GAの操作 crossover mutation parent1 child1 parent2 child2 crossover point
parent2 child2 crossover point mutation parent child mutation point
23
2018/12/31 実験してみたら… 今回の実験では、残念ながら二足歩行ロボットを完全に歩行させることは出来ませんでしたが,人間の歩行姿勢に近い姿勢を生成することが出来ました.しかし,遺伝的アルゴリズムで生成された姿勢にはばらつきが多く,安定した姿勢生成にはいたりませんでした. 実験に使用したロボットはセンサを一切搭載していないので,一度外乱が入ると,以降の計算結果と実環境に大きな誤差が生じてしまいます.また、遺伝的アルゴリズム で計算する際のロボットモデルと,実ロボットとの誤差も大きく影響していると思われます.今後,計算用ロボットモデルの精度を上げることや、センサを搭載し,フィードバックを得ることが出来るようになれば,さらに歩行生成の精度を上げることが可能だと思われます.
24
Explanation of Chord Search Cost O(log N) A H B G C F D E
2018/12/31 Node A「I want to value of Key 7.」 Search Cost O(log N) E 4 C 2 B 1 Node Key A 7 1 Length of key→m=3bit H B Node table 6 G C 2 C 2 A H 7 Node Key F D 3 5 E A G 6 F 5 Node Key 4
25
3.Each Agent’s Role Information Agent(IA)・・・Keep resource information.
2018/12/31 IA Information Agent(IA)・・・Keep resource information. Communication with user. NA Node Agent(NA)・・・Information on other nodes is kept and exchanged. Cooperate with DA. SA Search Agent(SA)・・・Goes to other nodes to look for the resource. DA DHT Agent(DA)・・・Compose DHT with cooperation of DAs on other nodes.
26
Overall of agent cooperation
2018/12/31 Request Create and Dispatch Migrating SA IA SA Information IA Migrating Migrating Nodes NA NA Direction Direction Node without DHT Node without DHT DA IA DA IA NA NA SA SA DHT Node with DHT Node with DHT
27
Series of procedures of agent migration
2018/12/31 It is asked that the resource exists. The key word and end condition are sent from user. User results Migration SA IA Node information Operate search NA Destination node SA IA Migration Node information NA Own node It returns to the node when it satisfy the search end requirement. Other nodes
28
Clustering by cluster word
2018/12/31 Clustering by cluster word Cluster word (abc, abcde, xy) Cluster words of node A A abc abcde xy 3 de 2 xz Cluster words of node B 8 6 Correlation value between A-B 3+3+2=8 Correlation value between A-C 2+2+2=6 B C (abc, de, xz) (bc, cd, yz)
29
Image of searching H G C F E A B D 3 10 6 3 8 5 5 13 3 9 8 4
2018/12/31 Image of searching 3 10 H G C 6 3 8 5 F 5 13 E A 3 B 9 8 D 4
30
Direct Mapping from Phenotype to Genotype and Crossover
2018/12/31 Direct Mapping from Phenotype to Genotype and Crossover start 本研究では、染色体の設計をを仮想MAPにある各交差点に一文字つけることで、通過した経路を文字の羅列で表しています。それにより探索された経路は図で言う赤い経路の文字列と、青い経路の文字列のようになります。 遺伝子である文字が複数集まると染色体となり、染色体によって特徴づけられた自律的な個を個体と呼び探索結果の解となります。 そして、遺伝子の文字で共通部分を探し出し部分交換をする事で交叉させます。赤と青の経路を交叉させると、それぞれ茶色と紫色の経路が新しくできます。経路を見てみると、しっかりお互いの経路が交じり合っているのが分かります。本研究で使用したのは多点交叉なので複数の共通点があれば複数の交叉をしますが、この染色体の設計方法だと経路の交差点を表す文字の羅列には、「ある文字とその隣にある文字は交差点に直すと道として繋がっている」という縛りが存在するため、無差別に交差点を交叉できません。 goal Route: Route: crossover parents children Route: Route:
31
Representation of Genotype
2018/12/31 Representation of Genotype Red route Constraint: 前ページの赤い経路の通った交差点を文字の羅列にしてみると、図のようになります。経路の仕様は探索で通った交差点の文字を羅列していくものなので、隣同士の文字には道の繋がりが生まれるため、交叉方法が制限されてしまいます。 もし、隣同士の遺伝子に繋がりがなければ、グレフェンシュテット(Gerefen stette)の順序表現という巡回セールスマン問題で使われている表現型から遺伝子型への変換方法が使えるようになります。これは巡回経路に矛盾を持った致死遺伝子というものが発生しない手法ですが、本研究での染色体に使うと、隣同士の文字に繋がりのない致死遺伝子ができてしまうため使えません。 Two intersections represented be genes must be adjoined.
32
The Simulator 地図で探索した最適な経路探索の動作をフレームアプリケーションでシミュレートさせます。
2018/12/31 The Simulator 地図で探索した最適な経路探索の動作をフレームアプリケーションでシミュレートさせます。 操作方法はまずスタートボタンとゴールボタンを押し好きな交差点を選択して、「探索実行」ボタンを押すと両探索プログラムが実行され、探索が終了したら、最適経路、その評価値、探索にかかった時間が表示されます。 後は「シミュレート実行」ボタンを押すことで、その結果通りの経路を通るシミュレートが開始されます。 まず青い玉がGAで求めた経路を辿り、そのあとに赤い玉が全経路探索で求めた経路を辿っていきます。
33
Best in the Initial Generation
34
Best in the Second Generation
35
Best in the Sixth Generation
36
Best in the Eighth Generation
37
まとめ ソフトウェアに関することがらすべて 各種ロボットに関すること 新しいプログラミング言語
38
だけど 研究ばかりが、研究室生活ではない。 社会に出る準備をするところ…
Similar presentations
© 2024 slidesplayer.net Inc.
All rights reserved.