Go to Post You'll find that there are plenty of teams and individuals who shout. You'll also find there are a smaller subset of teams and individuals that do. Those that do tend to be the ones that get their way. - Lil' Lavery [more]
Home
Go Back   Chief Delphi > Technical > Programming > NI LabVIEW
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Reply
 
Thread Tools Rate Thread Display Modes
  #1   Spotlight this post!  
Unread 28-03-2013, 11:50
bprobotics bprobotics is offline
Registered User
FRC #3288
 
Join Date: Jan 2013
Location: Big Piney
Posts: 10
bprobotics is an unknown quantity at this point
Re: Vision Tracking Help

Greg, the images are 320 x 240 and I really only want to process one image. Shouldn't this code only be processing one image per trigger pull? It is now getting the images and giving a distance but once I pull the trigger it keeps giving me new images and never makes it to the second frame of the flat sequence structure. Also, the probe on button 1 will say "TRUE" momentarily when I pull the trigger before all of the probes that I'm running switch to "Not Executed." Also worth noting, the cRIO usage on the DS spikes to 100% when attempting to run vision. Anything you can think of so that I only get one image when i pull the trigger?
Attached Thumbnails
Click image for larger version

Name:	Vision Tracking.png
Views:	10
Size:	273.3 KB
ID:	14472  
Reply With Quote
  #2   Spotlight this post!  
Unread 28-03-2013, 12:45
Alan Anderson's Avatar
Alan Anderson Alan Anderson is offline
Software Architect
FRC #0045 (TechnoKats)
Team Role: Mentor
 
Join Date: Feb 2004
Rookie Year: 2004
Location: Kokomo, Indiana
Posts: 9,112
Alan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond repute
Re: Vision Tracking Help

Quote:
Originally Posted by bprobotics View Post
...never makes it to the second frame of the flat sequence...
What's in that subVI at the top left of the first frame? It's the only thing I can see that might fail to complete.

Your loop in the second frame has no delays and is going to use up as many CPU cycles as it can, so that would explain the 100% usage -- but only if the sequence advanced to that frame.
Reply With Quote
  #3   Spotlight this post!  
Unread 28-03-2013, 13:07
bprobotics bprobotics is offline
Registered User
FRC #3288
 
Join Date: Jan 2013
Location: Big Piney
Posts: 10
bprobotics is an unknown quantity at this point
Re: Vision Tracking Help

Alan, the SubVI in the first frame is the Rectangular Target-2013 VI found in the example code. And for whatever reason, it is taking multiple images and never advancing to the second frame.
Reply With Quote
  #4   Spotlight this post!  
Unread 28-03-2013, 13:54
Alan Anderson's Avatar
Alan Anderson Alan Anderson is offline
Software Architect
FRC #0045 (TechnoKats)
Team Role: Mentor
 
Join Date: Feb 2004
Rookie Year: 2004
Location: Kokomo, Indiana
Posts: 9,112
Alan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond repute
Re: Vision Tracking Help

Take a look at the bottom right corner of the Rectangular Target -2013.vi block diagram. It's a neverending While loop. It is designed to continuously process images and place the results on its front panel for display purposes.

It's also designed to run on the PC, not on the cRIO. You probably want the Vision Processing.vi instead. It too is a neverending While loop, but it only reads images and processes them when the Enable Vision global variable is True. I don't think it would be too difficult to make it disable itself after a single iteration -- just set the variable False inside the case that runs when it's True (preferably after the Target Info global has been set). Call Vision Processing from Robot Main where the default project has it, and communicate with it using the globals.
Reply With Quote
  #5   Spotlight this post!  
Unread 28-03-2013, 15:57
bprobotics bprobotics is offline
Registered User
FRC #3288
 
Join Date: Jan 2013
Location: Big Piney
Posts: 10
bprobotics is an unknown quantity at this point
Re: Vision Tracking Help

Thanks for the help Alan. I'll give this a try this afternoon and see if it works for me.
Reply With Quote
  #6   Spotlight this post!  
Unread 29-03-2013, 01:43
bprobotics bprobotics is offline
Registered User
FRC #3288
 
Join Date: Jan 2013
Location: Big Piney
Posts: 10
bprobotics is an unknown quantity at this point
Re: Vision Tracking Help

Alan, I switched to doing the vision processing on the dashboard. In order to get just one image, I set it so that the Loop Iteration > 1, sends true to the loop condition which is stop if true. If the iteration < 1, it sends false to the loop condition. Unless I am mistaken, this should only analyze one image every time the loop runs, correct? I am also using smart dashboard variables to send the distance from Target Info[0] to the cRIO when I press button 1 on the joystick. I think I need a SD variable to send this to the dashboard also but it didn't appear to be working. For whatever reason, the cRIO keeps freezing up when i press that button.
Reply With Quote
  #7   Spotlight this post!  
Unread 29-03-2013, 01:44
bprobotics bprobotics is offline
Registered User
FRC #3288
 
Join Date: Jan 2013
Location: Big Piney
Posts: 10
bprobotics is an unknown quantity at this point
Re: Vision Tracking Help

Alan, I switched to doing the vision processing on the dashboard. In order to get just one image, I set it so that the Loop Iteration > 1, sends true to the loop condition which is stop if true. If the iteration < 1, it sends false to the loop condition. Unless I am mistaken, this should only analyze one image every time the loop runs, correct? I am also using smart dashboard variables to send the distance from Target Info[0] to the cRIO when I press button 1 on the joystick. I think I need a SD variable to send this to the dashboard also but it didn't appear to be working. For whatever reason, the cRIO CPU usage spikes when I press that button.
Reply With Quote
  #8   Spotlight this post!  
Unread 29-03-2013, 15:25
Alan Anderson's Avatar
Alan Anderson Alan Anderson is offline
Software Architect
FRC #0045 (TechnoKats)
Team Role: Mentor
 
Join Date: Feb 2004
Rookie Year: 2004
Location: Kokomo, Indiana
Posts: 9,112
Alan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond repute
Re: Vision Tracking Help

Quote:
Originally Posted by bprobotics View Post
Alan, I switched to doing the vision processing on the dashboard. In order to get just one image, I set it so that the Loop Iteration > 1, sends true to the loop condition which is stop if true. If the iteration < 1, it sends false to the loop condition. Unless I am mistaken, this should only analyze one image every time the loop runs, correct?
You're really trying hard to do things in a way that the provided code isn't set up to work. That loop is intended to start when the program begins and continue to run until the program is shut down. If you stop it, what's going to start it up again? I urge you modify the example code as little as possible.

Since you've abandoned the easily-controlled cRIO code, the small modification I would suggest is to surround the actual vision processing functions with a Case block that 1) runs when a global boolean is set True, and 2) sets that boolean False when it runs.
Reply With Quote
  #9   Spotlight this post!  
Unread 29-03-2013, 17:44
bprobotics bprobotics is offline
Registered User
FRC #3288
 
Join Date: Jan 2013
Location: Big Piney
Posts: 10
bprobotics is an unknown quantity at this point
Re: Vision Tracking Help

Well, I was able to get it running on the dashboard, but i really only need the distance occasionally. Would my PID code still work if the distance is constantly changing? How would you go about implementing the code if it were for your robot?
Reply With Quote
Reply


Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT -5. The time now is 12:13.

The Chief Delphi Forums are sponsored by Innovation First International, Inc.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi