04-02-2010 08:58 PM
Hi i have a problem of following a arrow through a camera and follow it motion
i can track the arrow no problem ,but now i have to follow it path ,and to track the path about 30 or 100 meters
i must have the arrow always in focus of the camera i have no idea how to begin to give the feed back to the motor to move .
I have enough distance to track it whole path in terms of reach.
but now to have to covered it all time ´s in focus to full screen and keep it there is some problem where i have no idea where to begin.
the arrow moves with about speed of sound 340 m/s
Because it in the field we have a 6210
Any one brilliant idea how to solve this ( for the next olympics)
04-05-2010 12:34 PM
Hi cees10,
I'm assuming the camera is fixed to a platform that is connected to the motors. The first thing to determine is how much does your camera's field of view change as your motor moves. In other word, given one rotation of your motor, how much do stationary objects in the images from your camera shift? Next, you can measure how much the arrow has moved one frame to the next. With this information, you can move your motor based how far the arrow moves in your camera's field of view.
For example, lets say your arrow is stationary and you move your motor on full rotation. When the motor is done with its move, you notice that images from your camera shows that the arrow has moved over by 500 pixels. Now lets say we have the arrow centred in the images from the camera. The arrow moves and you measure that it has moved over by 50 pixel. This means that you should rotate your motor by 1/10th of a full revolution to keep the arrow centred in the camera's view.
04-05-2010 01:08 PM
Well thanks for the respons Olivia
Field of view is 45 degrees assume we put the camera at the center of the 30 meters .
The problem is that the time is very fast 340 meter a second .
As i see it to move the shift of camera so fast it has determine let say 50 pixel's and on wich side the move motor all in a flash with in 0.1 second
speed = 340 meters a second distance is 30 meters
so i think a motor is not fast enough 0,1 second evrything is over en done
Let say the arrow is 0,5 meter camera window is 0.7 meter so it needs 30/ 0.7 = 42.85 positions in les then 0.1 second
04-06-2010 12:37 PM
Hi cees10,
If you think your motor is not fast enough, that is a limitation in your hardware and there isn't much you can do in the software to optimize that. Also, keep in mind that every motor will need to have some time to accelerate and decelerate and you need to take that into account when building your application.
Do you know that the arrow will move at 340m/s every time you run your application? If so, you can try programming an open-loop application where you specify a speed for the motor that would be the equivalent of 340m/s for the camera. For example, if one revolution of the motor moves the camera 1 meter, then you want the speed of the motor to be 340 revolutions per second to have the camera keep up with the arrow. Keep in mind that this would an open loop option. This means that any disturbance to your system that may cause the speed of anything to change, will affect how well you track that arrow.
04-06-2010 01:33 PM
Do you know that the arrow will move at 340m/s every time you run your application?
No that is something we want to investigate (aerodynamics of a arrow,and its behavior)
If so, you can try programming an open-loop application where you specify a speed for the motor that would be the equivalent of 340m/s for the camera.
Well that why we need to track it movement , it can be slower or faster (depends on lot of things i guess)
For example, if one revolution of the motor moves the camera 1 meter, then you want the speed of the motor to be 340 revolutions per second to have the camera keep up with the arrow. Keep in mind that this would an open loop option. This means that any disturbance to your system that may cause the speed of anything to change, will affect how well you track that arrow.
yeah
maybe something with mirrors? to track the arrow?
just a tought!
still have no clue how to solve this
04-07-2010 11:22 AM
Hi cees,
There's essentially two ways to control any sytem: open-loop or closed-loop. In your case, an open-loop option would be one that I had discribed in my last post. For an open-loop design to work, it requires the system to act in a very predictable way each time because no feedback is being supplied by the system. However, as you've pointed out, the speed of your arrow is not going to be the same each time nor will it be very predictable. Therefore this is not a viable solution for you.
The closed-loop option for you would be using two consecutive frames of the arrow images to determine how far it has moved and then moving the motor based on this. However, based on the speed of the arrow, you've said that your motors are not capable of reacting in 0.1s to the movement of the arrow. Therefore, to make it possible for you to implement a closed-loop solution, you will to either find a motor that can react (i.e. ramp up to a speed of 340m/s) very quickly or you need to slow down the speed of the arrow (which I think would defeat the purpose of your experiment).
Mirrors will not help you unless it will allow your motor to react more quickly to the movement of the arrow or slows the speed of the arrow.
Some other things to consider:
Essentially, you're limited by the hardware and the parameters of your experiment. If it is not possible to change the hardware, setup or the speed of your arrow, it may not be possible for your camera to track the arrow.
04-07-2010 04:30 PM
04-08-2010 01:20 PM
04-08-2010 01:27 PM
04-09-2010 04:51 PM