hey, again. The heliostat is working very smooth now. Thanks again for all your help. If sb. is interested I can share the code and pictures of the setup.
I have another (little unreleated) question: Is it possible to use the ide to process still images that are not taken by the openmvcam for testing purposes and if that is possible, is there a size limit? I would like to detect blobs for example, and save the image again after processing with drawn rectangles and so on.
hi, now with the sun back in town, I started working on my project again. I worked and tweaked the code quite a lot, and the perfomance (in terms of accuracy) is getting better, but it is still not perfect. The heliostat looses the sunpoint over a period of approx. 1h at the moment. my code is attached. (post1.txt)
I’m not sure if further tweaking the gain values will do the ultimate trick, because the distance of servo controlled heliostat and the openmvcam is not always the same. Maybe I’d need a second control loop that improves the accuracy of the first “guess”?
Something like in post2.txt ?
Hi, it looks like your not filtering the output of find blobs. You code seems to look at whatever the first blob is found. However, find blobs returns blobs in a unsorted manner. You should look for the maximum sized blob.
Um, anyway, can you classify what you mean by the camera looses the sun for 1h?
Hey, thanks!
Ah okey, that sounds like a good Idea. Can you tell me how to do that? Should I compare blobs for pixel size? The thing is, because I am using an VIS Block/IR-Pass filter, the image of the camera is black until a reflection of sunlight enters the frame, so there really should be only one blob, but maybe this would still help, because of lensflares or little dust particles or anything that might be interfering?
Well at the moment the machine stops when the search mechanism manages to adjust the mirror in a way that the reflection shows up in the frame. Then the system usually centers the reflection in the (seemlingly) center of the image frame. But over approximately one hour the reflection slowly wanders to the left and out of the frame. (the directions for the gain values (-/+) seems to be correct though) now, I think maybe the performance can be increased by perfecting the gain values further, but as the system will not always be set up in the same way (distance between cam and heliostat will be different, and the same movement will make different effects on the reflection every time?) I thought that maybe a second “finetuning” control might be necessary to assure that the reflection will stay in one place, that is the center of the frame. (and in my dream world: over the entire day!!)
The above returns the largest blob in pixels from the image from a list of blobs which find_blobs returns.
As for the gain control stuff. You should probably just constantly be tracking whatever object you see and trying to center of it. Maybe remove all the time outs in your code.
Thank you so much! The timeout things are there because I don’t want the system to start blindly searching if a cloud should obscure the reflection for a minute or someone walks through the image etc…but i will deactivate them for now
so I can just adress max_blob[1] for x and max_blob[2] for the position, right?
yeah now I have now, thanks! the code works now, but is it possible that the sensor setup takes longer with the new firmware? I had to put the servo standard setup in the beginning of my code because It took too long before the servo crtl kicked in (and one of the servo is moving spontaneously when there is no signal sent)
unfortunately now I have to wait a few days before I can try it out again because there is no sunshine