どうもhataです
前回オブジェの自動取得を行う際に、距離センサの値に誤差があることが原因でグリッパがオブジェ手前で止まってしまい、オブジェを取得出来ない状態であると書いていました。しかし、誤差の大きさがオブジェ一つ分もないことから、別の原因があるのではないかと考えました。
まず、実際の測定値のログをとり、値を確認したところ、オブジェが無い場合にも測定値がゼロになっていることを見つけました。測定したセンサの生の値でグリッパの移動距離を決めていたので、このような位置ずれが影響していると考え、測定距離の移動平均を使った処理を実装し、これによってセンサのずれの大きさを緩和することができました。
移動平均を使った判定で動かすと、オブジェの手前で止まることができるようになりましたが、取得動作をオブジェの手前ですることには変化がありませんでした。このことからセンサの問題ではなく、自動取得時のアームの制御に問題があると考えました。改めて確認をしたところ、自動取得でオブジェを探すとき、利用するアームは原点から50㎜前に出した状態で距離の測定を行い、オブジェを見つけたと判定したときの距離だけ原点から動かしているので、必ず50㎜手前で取得動作を行うようになっていました。これを修正し、初めに想定していた判定の閾値を小さくしたうえで、自動取得時のアームの目標位置を測定距離と最初のオフセットの合計で決定するようにしました。
そうすることで、自動取得の動作をオブジェの手前で行う問題は解決しました。次は、グリッパの中心とオブジェの中心をなるべく近づけて自動取得できることを目指します。
最後に、自動取得のテストの様子を載せておきます。
オブジェの自動取得動作のテストをしています。駆動輪だけ操作して、センサにオブジェが反応したら自動で取り込みます。取り込めはしていますが、まだ調整は必要そうです。#八尾ロボコン #ロボコン #ロボット pic.twitter.com/LbIhlPOsBs
— 藤原電子工業開発部 (@FDK_ROBOT) 2019年1月16日