Closed masato1004 closed 1 year ago
to: @suzukiYU000 Cc: @OtaKo50 (上記検討内容について意見あれば是非!)
if
分による切り替えでマーカーが映っていない瞬間のみ時刻歴情報から位置を推定する等
【高難易度】
@suzukiYU000 検討してもらった動画をパワポのアニメーションで作ってくれた(らしい)ので,うまい具合にテキストの説明と対応させながら図示してもらえれば!
前方のカメラからでは放出直後はモジュールは見えないので、あらかじめプログラムされた動きになります。 空転の可能性が高い路面では、設定する走行距離が長いほど、ズレが生じやすくなる可能性が上がりそうです。 解決案簡単なフローにする(→①)か、自己位置推定的なことをする(→②)
直進はできそう&回転は方位で簡単そうという仮定の下。
遠くなければ、回転中に見つかる可能性が高いので、探索すること考えると一番安全かつ省エネです。
マーカーを認識するまでの間で自己位置推定に使えそうな情報は今のとこは以下の2つ?
○機体の向いてる方向がわかる ×磁石が近くにあると微妙かも
○移動距離わかる(誤差すごそう) ×ガタガタな路面での誤差凄そう 他のステートでも使えそうなので、使えそうであればやりたいです。
横からの場合、認識できた時点で法線考えるフローに移っても問題なさそうです。 見えない走行区間で自己位置推定やモーター入力に使える情報はやはり方位とかですかね。
マーカー位置の位置によって限られてしまう。使えるのは、所望の位置から大きくずれていた場合。 となるとあまり使う機会がないかもしれないです。 曲線的に移動できるようにした方が移動距離を見ても省エネなのが明らかなのでできるようにしたいです。
一度近づいたら後退できないので、接近しすぎる前に二つのマーカーを見つけて、二等辺三角形の頂点の位置に移動するのが良さそうです。 ➩ 「頂点の位置に所望の向きで到着する」 が課題になりそうです。(←苦戦してます。)
@suzukiYU000
"AR基準にする" ➩これで行けそうです!
カルマンフィルタについて、勉強不足すぎるので、調べてみます!
一つ見つけたので、張っておきます。
位置と角度を指定してコースを作るアルゴリズムが紹介されてました。
おそらくこれで作成されるコースでも、マーカーを見失いそうな区間がありそうなので、 これも見える区間と見えない区間の移動方法の切り替えをすると良さそうです。
機体移動のスライドは、上記URLの方法の方が学術的で良さそうですかね...
@suzukiYU000
上記の理論を説明的に情報として載せられるといい! 現在考えてくれている内容に対してスライドがやや単調なので,より理論的な内容に踏み込んでスライドに記載してくれてもいいかも!
サンプルコードを用いて、経路途中で再びdubins [pathによる経路計算を行った。 直線の途中で再び計算すると、ほとんど同じ経路(赤)となった。 ただし少しずれている?ように見えるのでどのくらい誤差が出ているかはまだ不明。
また、近すぎると(指定した半径と関係してそう)大きく経路が変更されてしまうので、経路計算の更新はRSLやRSRなどによる3つの流れのうち二つ目までに行えば良い?
前に載せたサイト:Dubinsパス
Dubinsパスを計算後、現在位置からゴールまでのモーターの出力を算出 ➩ Dubinsパスの円の半径は一定のため、円周を回るような左右のモーターの出力バランスは既知 ➩Dubinsパスの計算からカーブ、ストレートの長さは既知 ➩所望の距離の分だけモーター出力
2つのマーカーが見えたらその都度再計算 ➩経路追従の誤差をその都度補正可能
経路にチェックポイントを設定し、見えたら補正
磁気センサとか? "センサフュージョン"ってワードがイケてる
どれくらいの頻度で再計算する?
進んでる最中に停止&色検出を挟む?
経路生成のための終点の推定のとき、色検出による距離推定はピクセルの面積から算出 ➡色の見えた位置がカメラの画角のどこにあるかによって距離の範囲を制限する! ➡モジュールが一部見えず実際より遠い距離が算出されても外れ値として扱えそう
1.色認識による始点の修正(回転) 2.dubins pathによる経路計算と走行 (3.計算しなおし、経路修正)
<メモ>
@KeioTeamWolvez2023/soft 班長がいない中積極的にやっていただきありがとうございます!! 良い進捗が埋めているように思います.
これに関しては昨年から同じ問題があって,legacy_code/Motor/motor_stop.py
当該ファイルが存在します.今年も流用できます.
こちらはラズパイを使用している時ならではのエラーで,半分くらい仕方ないです.
motor_stop.py
を実行できる環境にしておく.
- 一時停止しながら接近する方法に変更
- ブレやボケを補正するプログラムの導入
- カメラを支える首の強化
- カメラ位置の変更
ARマーカーの認識に基づいた制御アルゴリズムの検討 3/31迄
@suzukiYU000
本issueに検討内容(iPadで描いた絵やスライドなど)を投稿すること
検討内容