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
Sure. That would be http://www.youtube.com/watch?v=uWvWcGIHPPQ
--
Rich Webb Norfolk, VA
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
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?
No, I need better quality of tracking operations.
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
I have information only about position of products every 2 msec.
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.
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.
> > You mean the belt travels faster than expected sometimes? =A0How often
> > do=
> you
> > get a scan, just once for every object transferred? =A0Doesn't sound
> > like=
> you
> > have enough information to accurately estimate the proper place on the
> > be=
> lt
> > at time t2. =A0You need to sense or otherwise know the belt speed over
> > th=
> e
> > time interval.
> >
> > Mike Ross- Zitierten Text ausblenden -
> >
> > - Zitierten Text anzeigen -
>
> I have information only about position of products every 2 msec.
--
Curt Welch http://CurtWelch.Com/
cu...@kcwc.com http://NewsReader.Com/
OK, first, here's a video of a Staubli robot doing exactly that:
http://www.youtube.com/watch?v=1WzIjZWhpg8
And here's an Adept robot doing it:
http://www.youtube.com/watch?v=IRDJnwFDq88
And here's someone doing it as an assignment in a robotics class:
http://www.youtube.com/watch?v=TMUWEx_zoHo
Here's a sausage-packaging robot doing it:
http://www.youtube.com/watch?v=DUSVB2PW1qY
And one doing it with chocolate eggs:
http://www.youtube.com/watch?v=w4ftRdo1Wj0
And the Adept Quattro robot, the world's fastest robot manipulator:
http://www.youtube.com/watch?v=_3PHFJBSS0I
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