Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   Java (http://www.chiefdelphi.com/forums/forumdisplay.php?f=184)
-   -   Two Axis Cameras (http://www.chiefdelphi.com/forums/showthread.php?t=111524)

mls0.5 18-01-2013 10:38

Two Axis Cameras
 
Our team is trying to use stereoscopic vision this year on our robot, but we are having trouble using two Axis Cameras. We are using FRC Java. We can get the first camera with AxisCamera.getInstance("10.0.53.11') and we can get the second with AxisCamera.getInstance("10.0.53.12") BUT we can only get one at a time. If we try to get both, both lines return the same camera. So if we try to get the one on 10.0.53.11 first, both lines will return that camera, and if the try to get the one on 10.0.53.12 first, both lines return the one on *.12.

Thanks for any help.

MagiChau 18-01-2013 10:55

Re: Two Axis Cameras
 
the AxisCamera is a singleton. So you would have to make a modified version of the AxisCamera class to be able to construct more than one.

mls0.5 18-01-2013 11:06

Re: Two Axis Cameras
 
Thank you for your response, would you have any idea how to do that, or know of any examples of something like that?

SBrosious 18-01-2013 11:38

Re: Two Axis Cameras
 
My team was able to achieve this in labview but not in Java, we are going to try this year. If you use labview i could be more of help so message me if you opt to labview.

Johnbot 18-01-2013 13:06

Re: Two Axis Cameras
 
Quote:

Originally Posted by mls0.5 (Post 1217912)
Thank you for your response, would you have any idea how to do that, or know of any examples of something like that?

You can get the source for the Axis Camera by extracting
C:\Users\YOUR_USERNAME_HERE\sunspotfrcsdk\lib\wpil ibj.src.zip
Then going to edu\wpi\first\wpilibj\camera.
In that folder, there is the AxisCamera source file. From here, you should create a new class in your Netbeans project, and copy the entire source from AxisCamera.java into it.
(I would recommend changing the name of your new class to something like AxisCamera2.)

Alternatively, if you want to change the library class itself, you can edit the class to house an array of AxisCameras, and when you call getInstance, it doesn't change a variable, but instead adds to an array.

Also, if you only need to access the camera for things like changing the settings at robotInit, you could add a method that nullifies the variable m_instance, so that you can construct a camera, use it, nullify the AxisCamera's static camera object, and then construct the second.

Any of these should work for the Java front, but as the NativeLibrary is used for nearly every method, I'm not sure that that is all you have to do.

Do you need to instantiate two AxisCameras on your cRIO? What do you need to do that for?

mls0.5 18-01-2013 18:10

Re: Two Axis Cameras
 
Quote:

Originally Posted by SBrosious (Post 1217948)
My team was able to achieve this in labview but not in Java, we are going to try this year. If you use labview i could be more of help so message me if you opt to labview.

I am afraid no one on our team has any experience with labview, we exclusively use Java and C++

mls0.5 18-01-2013 18:13

Re: Two Axis Cameras
 
Quote:

Originally Posted by Johnbot (Post 1218000)

Do you need to instantiate two AxisCameras on your cRIO? What do you need to do that for?

We wanted to instantiate two Axis Cameras so we could use stereoscopic vision to tell the distance to the target (stereoscopic vision requires two cameras).

I talked with the rest of my team and we decided to just pull all the image processing off onto a different board like a raspberry pi, bypassing the CRIO.
Thanks for all your help

Joe Ross 18-01-2013 18:43

Re: Two Axis Cameras
 
Quote:

Originally Posted by mls0.5 (Post 1218159)
We wanted to instantiate two Axis Cameras so we could use stereoscopic vision to tell the distance to the target (stereoscopic vision requires two cameras).

The Vision Processing paper gives a method to determine distance to the goals that does not require stereoscopic vision. What algorithm for stereoscopic vision were you planning to use?


All times are GMT -5. The time now is 09:50.

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