![]() |
What is T_Packet_Data.my ??
Help
In terminal.c there is the following code: // does the camera have a tracking solution? if(T_Packet_Data.my == 0) how exactly does T_Packet_Data.my give us whether the camera has found a centered target? Is this what we should be using to know if our camera has a target in sight and centered? thanks -354 |
Re: What is T_Packet_Data.my ??
This is the y axis location of the "blob" (the green target) on the cameras view. If there is no blob, it is zero. Theres no specific variable saying if something is in view, but this works just as well.
|
Re: What is T_Packet_Data.my ??
Thanks.
What's the best way to tell if the camera has a centered target? -354 |
Re: What is T_Packet_Data.my ??
Well, logically, if the blob was centered in both the x and y dimensions, it would be safe to assume that the camera was centered on the target.
Now how could you tell how where the blob is.... |
Re: What is T_Packet_Data.my ??
Quote:
Code:
// parameters for CMUcam2 with OV7620 camera moduleSo, what you want to do is get T_Packet_Data.my the closest you can to TILT_CENTER_PWM_DEFAULT and T_Packet_Data.mx to PAN_CENTER_PWM_DEFAULT. -Mike |
Re: What is T_Packet_Data.my ??
Quote:
|
Re: What is T_Packet_Data.my ??
thanks for all the help y'all.
Totally saving my butt. Can you point me to that other thread you mention? I am not finding it. -354 Quote:
|
Re: What is T_Packet_Data.my ??
Quote:
|
Re: What is T_Packet_Data.my ??
Quote:
Ehm, where did you get that from? They get cleared when there is new data from the camera, and if the data from the camera contains a y that does not exist, it will be set to 0, as in it can not find it. That is at least what I got from the code, and the fact that each time the slow loop is run data is retrieved from the camera. |
Re: What is T_Packet_Data.my ??
Quote:
-Kevin |
Re: What is T_Packet_Data.my ??
Quote:
-Kevin |
Re: What is T_Packet_Data.my ??
Quote:
-Kevin |
Re: What is T_Packet_Data.my ??
Quote:
|
Re: What is T_Packet_Data.my ??
Quote:
It however does when it gets new information from the camera, so that would make no sense. |
Re: What is T_Packet_Data.my ??
Quote:
The room the tests were run in had the camera on a 3' table, rows of white flourescent lights were 8'-9' up, and the target was at 3'. We determined the camera was picking up the white lights and putting those in the mx, my values. When we put the target on the floor and limited the tilt up angle the camera no longer picked up the white lights. Our programmer changed the code to use confidence and it worked perfectly even with white lights in the field of view. |
Re: What is T_Packet_Data.my ??
Quote:
|
Re: What is T_Packet_Data.my ??
Quote:
-Kevin |
Re: What is T_Packet_Data.my ??
Quote:
Quote:
What Keith reported corresponds very closely to my experience, although I didn't attempt controlled experiments. I just noticed that sometimes the camera locked on to a spot well away from the target, and noted that the confidence was zero (or so.) |
Re: What is T_Packet_Data.my ??
Quote:
-Kevin |
Re: What is T_Packet_Data.my ??
Quote:
-Kevin |
Re: What is T_Packet_Data.my ??
Quote:
|
Re: What is T_Packet_Data.my ??
Quote:
Can you do me a favor? Can you grab this code and test it under the conditions that caused the camera to send the low confidence t-packets? These are the changes I've made so far: 1) All changes to servo position are now done through two functions, which will make it easier for teams to use the CMUcam2 servo outputs if they desire. 2) Fixed bug in search initialization code where temp_pan_servo was initialized to zero instead of Tracking_Config_Data.Pan_Min_PWM. 3) Altered tracking algorithm to use the t-packet confidence value to determine whether the code should track or search. This value can also the changed on-the-fly from the tracking menu. 4) Added Get_Tracking_State() function, which can be used to determine if the camera is on target. New code in Process_Data_From_Master_uP( ) uses this function to turn on the switch3 LED on the operator interface when the camera is on target. -Kevin |
Re: What is T_Packet_Data.my ??
Kevin,
I have arranged to get some camera time to test your changes. It will be on Saturday morning before the bot goes to a scrimmage. It will be Saturday evening before I can report back. Keith |
Re: What is T_Packet_Data.my ??
The non-zero my's probably come from stray pixels that the camera finds (like if the room is lit w/ flourescent lights and there is green or yellow paper on the walls), this doesn't make much of a difference most of the time, but it's annoying that it resets the search pattern, which results in the camera getting stuck going in circles and never finding the target (in our debugging we have gotten around this by covering its field of view until it was facing the target, we should probably make it not reset the search pattern ourselves, but hasn't annoyed us enough to do so yet)
EDIT: i would also try changing Code:
if(new_search == 1)Code:
if(FALSE)EDIT 2: it's also be possible to not set new_search to 1 until after ~.5 seconds of seeing the target, since it will usually lose the stray pixels by then, but I don't see the benefit of reseting the search pattern. |
Re: What is T_Packet_Data.my ??
Quote:
|
Re: What is T_Packet_Data.my ??
the confidence can drop sharply if there is a reflection of the target somewhere (which is likely considering all the reflective surfaces on the field), so finding that value that won't pick up the reflections but will pick up the real thing may be difficult.
|
Re: What is T_Packet_Data.my ??
Quote:
I have sent email with feedback. It looks good. The feedback is just a couple of minor things in the comments. Keith |
| All times are GMT -5. The time now is 21:00. |
Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi