Head mover does not take SEA degree change into account
Expected behavior
Head search pattern should not collide with robot torso or arms.
Current behavior
Search pattern collides a bit.
Steps to Reproduce
roslaunch bitbots_head_behavior test.launch on branch feature/collision_checking
Context (Environment)
- [ ] RViz
- [ ] Simulator
- [x] Robot
- [ ] Local
Only happens on robot, since the problem is coming from the deviation of the head SEA.
Possible Solution
Adapt search pattern so that lowest line is a bit higher. Then there would be no collision even if the SEA adds a few degrees.
Propably this will be resolved anyway, when the pattern is adjusted to the new camera
I think there is a larger rabithole at this point. Because the transformer and also the normal look_at calls in the head behavior are off due to the sea. Therefore I would introduce a transform in the head part of the tf three right after the head tilt joint. The angels of the new sea joint would be calculated (and published) by a new node which calculates the offset using both Imus.
Of we try to redesign or calibrate the seas that they are only shock absorbers for very high loads and stay quite stiff and centerd while normal use.
Maybe the most precise why would be to add an magnetic encoder inside the sea which estimates it's torsion.
@Flova I agree. That would be the best option in the future. But is there a dirty solution which works for now?
I would go for an additional transform for the sea consisting of the difference of the IMU measurements. (To be evaluated.)