zidik / soccervision

Soccer-playing robot computer vision processing
2 stars 0 forks source link

Ball & Robot velocity estimation #2

Open zidik opened 8 years ago

zidik commented 8 years ago

This needs ball & robot presistence. (https://github.com/zidik/soccervision/issues/3 & https://github.com/zidik/soccervision/issues/4)

Velocity of an object could be found by

Steps

kolibakter commented 8 years ago

Ball velocity is estimated by combining last X samples with weights that favor more recent coordinates. Seems to mostly work, have not tested calculation accuracy. Velocity currently tracked relative to robot only, not in absolute coordinate system, so it doesn't matter whether the ball or the robot is the one moving (or both).

zidik commented 8 years ago

To remove the robot's velocity from ball velocity, one could try this:

Have to be careful with skipped frames though ;)

Hope it helps, probably you are already implementing something similar.

kolibakter commented 8 years ago

Could not get absolute movement tracking working when using odometry as a reference point: ball positions are too inaccurate. If localization starts working again, then it should be retested with localization as a reference point, otherwise I will stop working on this for now.

zidik commented 8 years ago

One thing that might contribute to the innaccuracy: The information from odometry and camera might not be in sync.

Mark Laane

On 1 November 2015 at 18:47, Karl Oskar Lember notifications@github.com wrote:

Could not get absolute movement tracking working when using odometry as a reference point: ball positions are too inaccurate. If localization starts working again, then it should be retested with localization as a reference point, otherwise I will stop working on this for now.

— Reply to this email directly or view it on GitHub https://github.com/zidik/soccervision/issues/2#issuecomment-152843131.

zidik commented 8 years ago

After adding filtering, continuous ball & robot velocity tracking works now OK, but only on stationary robot. The moving case produces large velocity values and has to be investigated. (might be the same problem, as we had with localization, that Y-coordinate should be flipped.