Giter VIP home page Giter VIP logo

Comments (7)

josiahw avatar josiahw commented on July 3, 2024

I think this is assigned in the head jobs.

from robocup.

StevenNicklin avatar StevenNicklin commented on July 3, 2024

The tracking shouldn't have anything to do with the localisation. In the past the head tracking used a variable in the field objects that contained the raw angle from the center of the screen to the center of the ball in image coordinates set by vision: ScreenXTheta() and ScreenYTheta(). The tracking part aimed to get this value to zero i.e. the ball center in the center of the image.

It was done this way to get the responsiveness necessary to track the ball when it is moving quickly, since the filtered ball is not going to always move quickly enough when there is a sudden change. I think there might have also been an optional offset added too so that you could look at the ball in the lower half of the image and still see other things.

You should probably check which values are used by the head tracking to make sure it is the right ones and then see if it is getting set in the vision correctly.

from robocup.

shannonfenn avatar shannonfenn commented on July 3, 2024

As far as the way Vision is reporting it I'll check that while making the changes necessary for the new distance to point calcs.

from robocup.

Jade-Fountain avatar Jade-Fountain commented on July 3, 2024

Had a quick dig around for this. I think it is probably whatever Vector2(m_location.angular.x, m_location.angular.y) is in ball.cpp. about line 65. This is what screenThetaX() screenThetaY() evaluate to.

from robocup.

WongAaronSW avatar WongAaronSW commented on July 3, 2024

If this helps:
Old Calculation for ScreenXThetadouble Vision::CalculateBearing(double cx){ double FOVx = deg2rad(46.40f); return atan( (currentImage->getWidth()/2-cx) / ( (currentImage->getWidth()/2) / (tan(FOVx/2.0)) ) );}

Old Calculation for ScreenYThetadouble Vision::CalculateElevation(double cy){ double FOVy = deg2rad(34.80f);return atan( (currentImage->getHeight()/2-cy) / ( (currentImage->getHeight()/2) / (tan(FOVy/2.0)) ) );}
Regards,
Aaron Wong

Date: Wed, 5 Jun 2013 23:58:54 -0700
From: [email protected]
To: [email protected]
Subject: Re: [robocup] Robots track ball incorrectly (#38)

Had a quick dig around for this. I think it is probably whatever Vector2(m_location.angular.x, m_location.angular.y) is in ball.cpp. about line 65. This is what screenThetaX() screenThetaY() evaluate to.


Reply to this email directly or view it on GitHub.

from robocup.

shannonfenn avatar shannonfenn commented on July 3, 2024

Ok so the issue is that in the develop branch there is still the inclusion of the head angles into the camera bearing and elevation, this has already been removed in the branch I am working on so I'll close the issue for now.

from robocup.

shannonfenn avatar shannonfenn commented on July 3, 2024

To clarify so everyone knows what the issue was:

There are multiple values associated with a field object that vision reports including screen location and size, camera relative bearing and elevation, neck relative 3D position (radial) and a few variances (not used).

As Steve said the robot uses the camera relative angular position to quickly move the ball to the centre of the image and this value (and the screen values) aren't changed by localisation at all, so if there are problems with these it is Vision's fault (I'm not sure if this is the same for the neck relative). As far as the rest of the values used by localisation go I'm not so sure.

from robocup.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.