カレンダー(月別)
04 ≪│2017/05│≫ 06
- 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31 - - -
プロフィール

Suma

Author:Suma
東北の田舎でロボット開発に励んでいます。
現在のメインはマイクロマウス。目指すは東北地区大会優勝!!

ご注意
・当ブログはリンクフリーです ・当ブログの掲載情報を元に行った行為によって何らかの損害が生じたとしても管理人は一切責任を負いません。予めご了承ください。
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

--/--/--(--) --:-- |
つづき

・ある距離[mm]
・ある角度⇒ある回転半径[mm]

手元にある材料
・目標回転半径[mm]
・現在の走行距離[mm]
・ターン走行距離[mm]
  45°ターンの場合 ターン距離 = (目標回転半径 * 円周率 * 2) / 8
  90°ターンの場合 ターン距離 = 45°ターンの距離 * 2
  135°ターンの場合 ターン距離 = 45°ターンの距離 * 3
  180°ターンの場合 ターン距離 = 45°ターンの距離 * 4
 実際のターン軌道は円軌道ではないのでこの距離の計算とはずれるだろうがまずやってみることにする
・ターン走行距離中のターン進入部の割合[%]
 各ターンごとに変えたほうがよさそうだが、まずは全ターン共通で20%とする

と、ここまでの計算をエクセルで検討してみる
ターン制御

探索用のターンだと
 ターン距離:47.1mm
 ターン進入部の距離:9.42mm(=449パルス)
となり、ターンを開始してから9.42mm進むまでに目標の回転半径を30mmになるように制御すればいいことになる

一番回転半径が小さいであろう探索用ターンで約9mmあるので、1mm進むごとに一定の値だけ目標の回転半径を更新するのが良さそうである

目標回転半径の初期指定値を100mm(外側のステアリングで約12°に相等)とすると、1mmごとに更新する量は、
回転半径の更新量 = (100[mm] - 目標回転半径[mm]) / ターン進入部の距離[mm]

探索用ターンだと、1mm前進するごとに、回転半径を約7mm(0.8°)ずつ減らしていくように処理すればいい

後は後段の処理で目標回転半径どおりに、ステアリング角度と駆動輪の速度差を制御すればターン進入部は完成


コードがかけそうになってきたが、結局のところ機体のサイズに対して回転半径が小さいので徐々にステアリングをきると言っても一気にきったのと同じになりそう
そして、回転半径からステアリング角度を計算するにはアークタンジェントが必要だったのを思い出す
ま、100mm~30mm間だけだし回転半径-目標ステアAD値のテーブルをつくっちゃうか

2011/06/16(木) 21:37 | コメント:0 | トラックバック:0 |
コメント
コメントを投稿
名前
タイトル
メール
URL
コメント
パスワード
管理者にだけ表示を許可する


トラックバック

この記事のトラックバックURL
 

この記事にトラックバックする (FC2 blog user only!)
 
この記事へのトラックバック


探索済み区画
これまで
区画を探索
検索フォーム
夢を叶えるための名言集


presented by 地球の名言
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。