10g
制御システム工学科 3年
@tokoro10g
 クモ型の多脚ロボットを作りたい!
 地形や目標物を捉えて動かしたい!
 工大祭でちびっ子たちを泣かせたい!
 サーボ提供:中野博文さん
30個も提供して頂きました!! (´◔ ◔) ヨッシャ!
 1ヶ月ほどで設計,2ヶ月で製作
 一般的なホビーロボット
 モーション :角度決め打ち
 フレームレート :低
 外界のフィードバック :ない場合がほとんど
→複雑な動きをさせようとすると…
 どうせなら
 モーション :自動生成
 フレームレート :高
 外界のフィードバック :モーション自動生成なので可
→楽しい!!✌(‘ω’✌ )三✌(‘ω’)✌三(✌‘ω’)✌
 でも制御用のプログラムも…
→楽しい!!✌( ◞‸◟✌ )三✌(◞‸◟)✌三(✌◞‸◟)✌
ことになってしまう
 複雑なシステムを構築する際の考え方
 分散システム (システムを並列化) (´・ω・`)(´・ω・`)
 サブシステム (システムを入れ子状化)(´・(´・ω・`)・`)
双方を利用して,処理を分散・コンポーネント化
 分散システム
メイン
演算システム
脚システム センサシステム 脚システム
サーボ サーボセンサ
 サブシステム
メイン演算システム
センサ
入力
脚の動き
出力
自己状態推定
サブシステム
行動決定
サブシステム
モーション生成
サブシステム
逆運動学
サブシステム
逆運動学
サブシステム
メイン
演算システム
 順運動学(Forward Kinematics)
 機構のパラメータと関節角度
→手先座標・姿勢の挙動を計算
 解析的に解が必ず一意に求まる
 逆運動学(Inverse Kinematics)
 機構のパラメータと手先座標・姿勢
→関節角度の挙動を計算
 解析的に解が一意に求まるとは限らない
A. 自由度のせいです.
 機構が複雑になると計算式も複雑化
→最適化手法を用いて数値的に解こう
 最急降下法
 Newton-Raphson法
 Levenberg-Marquardt法
 Particle IK
 CCD IK など…
 計算が直感的で簡単な 最急降下法 を採用

 最急降下法(Steepest Descent Method)
として値を更新
 要するに,各関節角度に対する手先座標の感
度を用いて,目標座標に近づけるように値を更
新
 逆運動学計算のシミュレータを作成した
デモ
 言語はC++
 表示はOpenGL(GLUT使用)
 行列演算にはEigenを使用
→ 逆運動学計算ルーチンは
まるごとマイコンに移植可能!!
 実機で動かすと壊れそうで怖い
 実際に実機に適用
動画
 サーボのコマンド送信にかかる時間が長い
 低フレームレート
 逆運動学計算が高負荷
 大量の浮動小数点数演算,逆行列の計算 など…
 (実は)収束が遅い
 Newton-Raphson法やLevenberg-Marquardt法を
利用することで高速化
 逆運動学の解を数値的に求めた
 シミュレータと実機で検証した
 サーボの通信性能がネック
→ 分散システムへ
 最近STM32を推しています
 C++で書けてオンチップデバッグ可能な環境
を作りました!
デモ
 お求めはこちら!
http://wiki.tokor.org
 最近konashiを推しています
 JavaScriptで書けてiPhoneから制御可能な
フィジカル・コンピューティングツールキット
を(バイト先で)作りました!
動画
 お求めはこちら!
http://konashi.ux-xu.com
アカデミック割,あります

クモ型ロボットにおける逆運動学計算