ロボットシミュレーション ODE Dynamics Engineによるロボットプログラミング

Slides:



Advertisements
Similar presentations
Absolute Orientation. Absolute Orientation の問題 二つの座標系の間における剛体 (rigid body) 変換を復元す る問題である。 例えば: 2 台のステレオカメラから得られた3次元情報の間の関 係を推定する問題。 2 台のステレオカメラから得られた3次元情報の間の関.
Advertisements

複数の移動ロボットによる 協調的な行動: 情報共有に基づく お片づけロボットのシステム開発 中京大学大学院 情報科学研究科 可知大資 中谷聡太郎 白井英俊.
第2回:力・つりあい 知能システム工学科 井上 康介 日立キャンパス E2 棟 801 号室 工業力学 補足スライド Industrial Mechanics.
1 運動方程式の例2:重力. 2 x 軸、 y 軸、 z 軸方向の単位ベクトル(長さ1)。 x y z O 基本ベクトルの復習 もし軸が動かない場合は、座標で書くと、 参考:動く電車の中で基本ベクトルを考える場合は、 基本ベクトルは時間の関数になるので、 時間で微分して0にならない場合がある。
ロボットシミュレーション ODE Dynamics Engineによるロボットプログラミング
初年次セミナー 第14回 2次元グラフィックス(2).
視線に基づくサブゴールを用いた 歩行者の行動モデル
パノラマ動画像モデルによる 仮想空間表現システムの研究
CGアニメーションの原理 基本技術 対象物体の動きや変形の設定方法 レンダリング技術
・力のモーメント ・角運動量 ・力のモーメントと角運動量の関係
伝達事項 皆さんに数学と物理の全国統一テストを受けても らいましたが、この時の試験をまた受けていただ きます。
伝達事項 過去のレポートを全て一緒に綴じて提出されている 方が何名かいらっします。 せっかくの過去の宿題レポートが紛失する可能性を
コリオリ力の復習資料 見延 庄士郎(海洋気候物理学研究室)
一次関数と方程式 本時の流れ ねらい「二元一次方程式をグラフに表すことができる。」 ↓ 課題の提示 yについて解き、グラフをかく
剛体の物理シミュレーション は難しい? 佐藤研助手 長谷川晶一.
円筒座標をやる前に 復習をします。 1.三角関数の復習(高校数学) 2.2次元極座標の復習(高校の数学B) 3.円筒座標の復習(前期)
一次関数のグラフ(式を求めること) 本時の流れ ねらい「グラフや座標など与えられた条件をもとに一次 関数の式を求める。」 ↓
一次関数のグラフ(式を求めること) 本時の流れ ねらい「グラフや座標など与えられた条件をもとに一次 関数の式を求める。」 ↓
先端論文紹介ゼミ Tracking control for nonholonomic mobile robots: Integrating the analog neural network into the backstepping technique 非ホロノミック移動ロボットのための追従制御:
大阪工業大学 情報科学部 情報システム学科 宇宙物理研究室 B 木村悠哉
次に 円筒座標系で、 速度ベクトルと加速度ベクトルを 求める.
5.アンテナの基礎 線状アンテナからの電波の放射 アンテナの諸定数
伝達事項 試験は6/6 (土) 1限目の予定です。.
慣性モーメントを求めてみよう.
重力レンズ効果を想定した回転する ブラックホールの周りの粒子の軌道
(ラプラス変換の復習) 教科書には相当する章はない
3次元での回転表示について.
動力学(Dynamics) 運動方程式のまとめ 2008.6.17
大阪工業大学 情報科学部 情報科学科 学生番号 A03-017 犬束 高士
物理学セミナー 2004 May20 林田 清 ・ 常深 博.
~Lookie~ WEBカメラを用いた対話時における 視線不一致問題の解決手法の提案と 解決支援機構の開発
ステッピングモータを用いた 移動ロボットの制御
二輪型倒立振子ロボットの製作 箱木研究室 T20R020 三留隼.
二分木説明 点Cの座標を求めよ。.
ロボティクス・メカトロニクスの基礎 東京大学 生産技術研究所 倉爪 亮.
マイケルソン・モーレーの実験の検証 マイケルソン・モーレーの実験ではもう一つの往復光を垂直方向に分けて行った。
Cartサブシステム仕様.
横磁化成分と歳差運動 M0 横磁化Mxy 回転座標系 90°RFパルスにより、縦磁化成分Moはxy平面に倒れる(横磁化生成)
電磁気学C Electromagnetics C 5/28講義分 電磁波の反射と透過 山田 博仁.
プロジェクト演習III,V <インタラクティブ・ゲーム制作> プログラミングコース
本時のねらい 「三角形の1辺に平行な直線が他の2辺と交わるとき、それぞれの交点は、その2辺を等しい比に分けることを理解する。」
垂直多関節ロボット 座標認識システムの構築
ロボットシミュレーション ODE Dynamics Engineによるロボットプログラミング
6. ラプラス変換.
メンバー 梶川知宏 加藤直人 ロッケンバッハ怜 指導教員 藤田俊明
3次元での回転表示について.
物理学Ⅰ - 第 8 回 - アナウンス 中間試験 次回講義(XX/XX)終了前30分間 第7回講義(運動量)までの内容 期末試験
知能システム論I(13) 行列の演算と応用(Matrix) 2008.7.8.
中3数 三平方の定理の利用 内 容 2つの三角定規の3辺の比 平面図形への利用 座標平面上の2点間の距離を求める。
GPSを使わないBebop Droneの 自動飛行
動力学(Dynamics) 力と運動方程式 2008.6.10
ロボットの協調動作の研究: マップ作成とマップ情報を利用した行動計画
電磁気学Ⅱ Electromagnetics Ⅱ 8/4講義分 電気双極子による電磁波の放射 山田 博仁.
プログラミングを 体験しよう 選択情報⑧.
平面波 ・・・ 平面状に一様な電磁界が一群となって伝搬する波
移動ロボットの速度制御 桐蔭横浜大学 箱木研究室 T20R001 あべ松雄太.
倒立振子の制御 T22R007 山岡 由尚.
原子核物理学 第5講 原子核の振動と回転.
資料 線型変換のイメージ 固有値、固有ベクトル 平賀譲(209研究室) 資料
逆運動学:手首自由度 運動学:速度、ャコビアン 2008.5.27
実践ロボットプログラミング LEGO Mindstorms EV3 で目指せロボコン!
プロジェクト演習III,V <インタラクティブ・ゲーム制作> プログラミングコース
大阪工業大学 情報科学部 情報システム学科 学生番号 B02-014 伊藤 誠
数値解析 第6章.
「データ学習アルゴリズム」 第3章 複雑な学習モデル 報告者 佐々木 稔 2003年8月1日 3.2 競合学習
Cプログラミング演習 ニュートン法による方程式の求解.
電磁気学C Electromagnetics C 7/10講義分 電気双極子による電磁波の放射 山田 博仁.
ベクトル関数の回転(カール、ローティション)
逆運動学(Inverse Kinematics) 2007.5.15
8.2 数値積分 (1)どんなときに数値積分を行うのか?
Presentation transcript:

ロボットシミュレーション ODE Dynamics Engineによるロボットプログラミング Part2: 車輪型ロボット 2007-8-23版 出村 公成(でむらこうせい) [Web] http://demura.net [Mail] info@demura.net

教科書 簡単!実践!ロボットシミュレーション Open Dynamics Engineによるロボットプログラミング 出村公成著 森北出版 2007年5月 ISBN-13: 978-4627846913 簡単!実践!ロボットシミュレーションの表紙

内 容 1限目 ロボットの種類 座標変換 2限目  ボールの探索 自己位置同定 ナビゲーション ポテンシャル法 3限目 エクセサイズ

ロボットの種類 ステアリング型 (steering drive) 自動車のように車輪の向きを変化させて進行方向を変化 作動駆動型 (differential drive) 左右の駆動輪の回転数 差により進行方向を変化 ステアリング型

座標変換 絶対座標系 ワールド座標系 全ての物体に共通,動かない 相対座標系 ローカル座標系 ロボット座標系 各物体に固定された座標系,物体が移動,回転するとそれに伴い移動,回転する

位置センサを作るには? 絶対座標での位置 ロボットから見た位置(相対座標系) 絶対座標系 相対座標系

位置センサの作り方 ODEなどの物理計算エンジンでは、各物体の絶対座標系での位置や速度の情報などはAPIなどで簡単に取得可能。 ステップ1:絶対座標系を相対座標系に変換 ステップ2:直交座標系を極座標系に変換

絶対座標と相対座標 x, y : 絶対座標系での物体の位置 x’, y’: 相対座標系での物体の位置 xr, yr: 相対座標系の原点      絶対座標系でのロボットの位置

絶対座標と相対座標 x, y : 絶対座標系でのロボットの位置 x’, y’: 相対座標系での目標の位置 xr, yr: 相対座標系の原点      

直交座標系→極座標系 角度と距離 注意:角度の取り方が逆(時計まわり)        P117参照 教科書 P117から転載

カメラを搭載 指向性カメラ 視界が制限 広角でも90度程度 解像度が高い 全方位カメラ 360度の視界 解像度が低い 指向性カメラを装備したロボット 全方位カメラを装備したロボット

演 習 プログラム4.1(P112)のロボットに視野角60度の指向性カメラを搭載して,ボールを追跡するプログラムを作ろう!

ボールの探索 指向性カメラの場合は視界が制限されているので回転して探索 視界 ボール ロボット

ボールの追跡 ボールが視界内にあれば直進

ボール追跡のアルゴリズム STEP1: ボールが見つかるまで、その場回転する。見つかったらSTEP2へ進む。

ロボカップのロボットをプログラムしよう! ボールをゴールまで運ぶプログラムを作ろう ボールがゴールの見通し線上にない場合にロボットはどのように移動すれば良いか(回り込み) 教科書P129から転載

ボールをゴールへ運ぶには1 ゴール ボール この図はロボットのカメラ画像 ロボットはドリブルしている ロボットはどの方向に移動すれば良いか?

ボールをゴールへ運ぶには1 ゴール ボール ロボット 直進すればよい

ボールをゴールへ運ぶには2 ロボットはドリブルしている ロボットはどの方向に移動すれば良いか?

ボールをゴールへ運ぶには2 右に曲がる

ボールをゴールへ運ぶには2 右に曲がる

ボールをゴールへ運ぶには3 ロボットはドリブルしています. ロボットはどちらに移動すれば良いか?

ボールをゴールへ運ぶには3 左に曲がる

ボールをゴールへ運ぶには3 左に曲がる

P(比例)制御 目標値 - 現在値 ゴールの重心 ー ボールの重心 正 → 右回転 0  → 直進 負 → 左回転 負 正

ロボットの方位 atan2関数(教科書P117から転載)

回り込み シュートするにはどうするロボット? 教科書P129から転載

回り込み2 A地点でゴールが何度に見えるかを計算 (教科書P130から転載)

自分の位置を知るには? 外界センサを使う方法 距離による方法 方位による方法 内界センサを使う方法 車輪の回転数 レーザスキャナ,レーダ カメラ 内界センサを使う方法 車輪の回転数 エンコーダ ランドマークによる自己位置同定 教科書P109から転載

距離による方法 レーダ 自分の位置はA点 ランドマーク3 A ランドマーク1 B ランドマーク2 A,B点のどちらかわからない

円の交点を計算する方法1 円の方程式 2つの円の交点A, Bを求めよう (x - x1)2 + (y - y1)2 = r12

円の交点を計算する方法2 自分の位置を計算するためには3つの円の交点を求める必要あり 計算が複雑 r3 Y (x3,y3) (x - x1)2 + (y - y1)2 = r12 (x1,y1) r1 (x - x2)2 + (y - y2)2 = r22 r2 (x - x3)2 + (y - y3)2 = r32 (x2,y2) X

交点の直線を使用する方法1 ①式 - ②式 円の方程式 直線A Bの式は? Y (x - x1)2 + (y - y1)2 = r12 ①式 ①式 - ②式 r2 (x2,y2) B X

交点の直線を使用する方法2 円の方程式 2つ直線の交点を求めよう Y 円3 C A (x1,y1) r1 D 円2 r2 (x2,y2) 円1 B X

方位による方法 ロボットの位置 (x, y) 姿勢角 φ ランドマークの位置 (xi, yi) 姿勢角から測った ランドマークの方位 βi 姿勢角 φ  ランドマークの位置   (xi, yi) 姿勢角から測った  ランドマークの方位 βi  β1 = atan2(x1-x, y1-y) - φ  β2 = atan2(x2-x, y2-y) - φ  β3 = atan2(x3-x, y3-y) - φ  β1 = atan((x1-x)/ (y1-y)) - φ 著作権上問題があるので教科書P123 図4.9を参照してください。

方位による方法 β1 = atan2(x1-x, y1-y) – φ ① β2 = atan2(x2-x, y2-y) – φ ②  ①と②式から姿勢角φを消去する  整理すると円の方程式になる  2つのランドマークの座標 (x1, y1) (x2, y2)  観測方位 β1, β2   現在位置(x, y)は右の円周上にある   教科書P124から転載

円周角(えんしゅうかく)の定理 C2 円周上の2点から、円弧AB上の任意の点Ciに引いた直線のなす角(∠ACiB)は等しく、円弧ABに対する円周角とよぶ。 また、円の中心をOとした場合、 ∠AOB の大きさは円弧ABの円周角∠ACiBの2倍である。 Ci C1 B O A

方位による方法 ランドマークが3点以上必要となる

演習 ボールを探索してゴールへ運ぶプログラムを作成 ステップ1: ボールへ向かうプログラム ステップ2: ボールをゴールへ運ぶプログラム ステップ1: ボールへ向かうプログラム ステップ2: ボールをゴールへ運ぶプログラム 横  高さ  奥行き 2.0m × 1.0m × 0.5m

デッドレコニング(dead reckoning) Reckoning: the act of calculating sth, especially in a way that is not very exact (OXFORT 現代英英辞典から引用) Star reckoning(天測) Dead reckoning

デッドレコニング(dead reckoning) 以前の位置をもとに内界センサにより変位量を推定し、自己位置を求める方法 エンコーダ ジャイロ 初期位置がわかっていなければならない 時間と伴に誤差が増加するので、定期的に自己位置を補正しなければならない

運動学1 . . . x, y, θはロボット重心の位置,姿勢 x = 0.5 r (ωr + ωl) sinθ y = 0.5 r (ωr + ωl) cosθ . θ = 0.5 r (ωr – ωl) / d . 0.5はロボット重心の速度だから ここで, r: タイヤの半径 ωr, ωl: タイヤの角速度 右,左 d: 中心からタイヤの間隔 図4.11 差動駆動型ロボットの運動学    教科書P126から転載 上の式を時間で積分すればよい

運動学2 ∫ ∫ ∫ t x = x0 + 0.5 r (ωr + ωl) sinθdt t t ∫ y = y0 + 0.5   r (ωr + ωl) cosθdt t ∫ θ = θ0 +0.5 r /d (ωr – ωl) dt t ∫ ここで, r: タイヤの半径 ωr, ωl: タイヤの角速度 右,左 d:中心からタイヤの間隔 図4.11 差動駆動型ロボットの運動学    教科書P126から転載

∫ 数値積分1 Y X 台形公式 A B C f(x) dx x0 x3 = 台形A + B + C 台形B = (y2+y1) * (x2 – x1) / 2 y0 y1 y2 y3 A B C X x0 x1 x2 x3 今日の格言:積分は微小区間の足し算である.

プチプロジェクト 全く同じプロジェクトは不可 決まったら私にメール連絡 方法が違えばよい 車輪型ロボットなら 自己位置の推定の実装 距離による方法 角度のよる方法 その他 まわりこみの実装 デッドレコニングの実装 逆運動学の実装 などなど

ポテンシャル法 障害物回避だけでなくナビゲーションにも利用可能 物体や場所にポテンシャルエネルギー場を設定 磁石をイメージ 障害物回避 障害物に斥力を設定 ナビゲーション ゴールに引力 障害物に斥力 スタート ゴール http://people.csail.mit.edu/lpk/mars/temizer_2001/Method_Comparison

ポテンシャル関数法の特徴 利 点 1つの関数で追跡と障害物回避が可能 実装が簡単 欠 点 極小値問題 パラメータを調整するのが難しい 利 点 1つの関数で追跡と障害物回避が可能 ディフェンス キーパーのカバー マンツーマンディフェン 衝突せず,離れず 実装が簡単 欠 点 極小値問題 引力と斥力が釣り合う場合 ロボット停止 解決法としては慣性の導入 パラメータを調整するのが難しい

ポテンシャル関数って何ですか? U = - A / rn + B / rm レナードジョーンズポテンシャル関数 分子間の引力と斥力のポテンシャルエネルギーを表す ポテンシャル U = - A / rn + B / rm 引力成分 斥力成分 斥力 U: 分子間のポテンシャルエネルギー A, B, n, m: パラメータ r:分子間距離 距離 引力

F = - dU/dr = - nA / rn+1 + mB / rm+1 レナードジョーンズポテンシャル関数 U = - A / rn + B / rm F = - dU/dr = - nA / rn+1 + mB / rm+1 斥力成分 引力成分 F: 力 (マイナスは引力,プラスは斥力) A: 引力の強さ B: 斥力の強さ n, m: 曲線の傾き r:分子間距離

例 ボールと敵ロボット 引力 進む方向 Enemy Robot My Robot Ball 対象物によりポテンシャル 関数の形を変える 斥力

プログラムのヒント 相対座標系で引力と斥力の合成ベクトルを求める ベクトルの足し算 その進路に向かって進む ステップ1に戻る Ball 進む方向 Enemy Ball My Robot

応用例 ディフェンダ1 Enemy Ball 味方同士は斥力で均等に配置 Defender ボールに引き 寄せられる Defender 応用例 ディフェンダ1 RoboCup中型ロボットリーグでは慶應大学EIGEN チームがロボットのポジショニングにポテンシャル 法を使っていました。 Enemy Ball 味方同士は斥力で均等に配置 Defender ボールに引き 寄せられる Defender Defender Goalie ゴール

応用例 ディフェンダ2 Enemy Defender Ball 味方がボールへ行き,斥力 が弱まったので移動 Defender 応用例 ディフェンダ2 Enemy Defender Ball 味方がボールへ行き,斥力 が弱まったので移動 Defender Defender Goalie ゴール

プチプロジェクト 全く同じプロジェクトは不可 決まったら私にメール連絡 方法が違えばよい 車輪型ロボットなら ポテンシャル法の実装 自己位置の推定の実装 距離による方法 角度のよる方法 その他 まわりこみの実装 デッドレコニングの実装 逆運動学の実装 などなど

終わり