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?
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
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
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
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
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.
Polytechforum.com is a website by engineers for engineers. It is not affiliated with any of manufacturers or vendors discussed here.
All logos and trade names are the property of their respective owners.