# Tracking moving object

Hi
I have industrial robot and position is at Point A (x,y,z) in time t=t1. I want to pick product on the belt with speed v (t) (not
constant, can change 0-Vmax). At time t=t1 product is at position (X1,Y1,Z1). I have trajectory between A and B at the time t=t1. How can I calculate speed for robot or position to catch this product?
Has somebody good document about catching the product on the belt?
Thanks.
Regards
Leo
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
wrote:

Sure. That would be

--
Rich Webb Norfolk, VA

<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>

No, I need better quality of tracking operations.
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
leo wrote:

Do you know the speed of the belt? If you can get the changing belt velocity, you can integrate it forward in time beginning at t1, and that will get you the proper position at some later time t2. The faster you can get accurate velocity readings, the better that integrated position will be.
If, instead of sensing it, you know the belts expected velocity profile between t1 and t2, you could integrate that function instead to get the expected position.
Mike Ross
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
On 1 Sep., 20:28, mike_l snipped-for-privacy@REMOVEcomcast.net wrote:

I know only position of products on the belt in every scan. The problem is if the belt is fast, how can I reach this speed?
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
leo wrote:

You mean the belt travels faster than expected sometimes? How often do you get a scan, just once for every object transferred? Doesn't sound like you have enough information to accurately estimate the proper place on the belt at time t2. You need to sense or otherwise know the belt speed over the time interval.
Mike Ross
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
On 2 Sep., 02:38, mike_l snipped-for-privacy@REMOVEcomcast.net wrote:

I have information only about position of products every 2 msec.
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>

so scan at 0ms, record product position1 scan at 2ms, record product position2
subtract product position 2 from position1, and you have distance traveled in 2ms.
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>

Do you mean that the belt is moving faster than your robot arm can move so the arm is not able to catch up to the object? If the object is moving too fast you just have to be able to see it far enough in advance to allow you to get the arm to the correct place in time.
You have to use the position data from your scans to construct a model of where you expect the object to be in the future as a function of time. This would be an equation that gives you virtual path of the object in 4D space (3D + time dimension) and you do the same for your robotic arm and adjust the commands you send to the arm to make the path of the arm intersect with the path of the object. That is, so that the arm shows up at the right place, at the right time, in order to grab the object.
If you assume the belt is moving at a constant speed, then the equation is simpler. If you want to adjust for a belt which is currently changing speed (speeding up or slowing down), then you have to use a more complex model (aka equation) to model the expected change in speed between each update.
Basically, after each 2ms update, you need to contract a new plan for the movement of the arm (maybe a sequence of command you will send it over time to get it where you need it to be).
I don't anything about the typical command interface to one of those robots. Do you tell it in real time where to move to (x,y,z), and then some amount of time later, it gets there? If so, you need to build a mathematical model of the robot arm that will estimate where it will be over time after you give it a new command. This may require you to model not only it's position, but it's current velocity in order to give you accurate enough results.
Is you goal to make the arm move in sync with the object on the belt and then grab it as the object and arm are moving? Or do you want the arm to move to the correct place, stand still, and then grab the object just at the right time as it moves past?
The calculations will be different based on what your are trying to make the arm do.
The faster the object and arm have to move, the more accurate your calculations will have to be in order for it to work.

--
Curt Welch http://CurtWelch.Com /
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
leo wrote:

OK, first, here's a video of a Staubli robot doing exactly that:

And here's an Adept robot doing it:

And here's someone doing it as an assignment in a robotics class:

Here's a sausage-packaging robot doing it:

And one doing it with chocolate eggs:

And the Adept Quattro robot, the world's fastest robot manipulator:

So this is a solved problem with commercially available solutions. So go buy something. Lots of vendors make software packages for robot conveyor tracking.
John Nagle
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>

## Site Timeline

• ### Robot - Micro Data Transmission over 12 volt line

• - previous thread in General Robotics Forum