Welcome, Guest. Please login or register.
Did you miss your activation email?
February 09, 2012, 03:57:56 AM
Home Help Login Register
News: Any Problems or Experience with Industrial Robots ?
Register and place your Question / Answer to worldwide Robotexperts right here !

+  Robotforum | Support for Robotprogrammer and Users
|-+  Industrial Robot Help and Discussion Center
| |-+  Yaskawa Motoman Robot Forum (Moderators: Fabian Munoz, Napierian)
| | |-+  Moving from tcp with a given offset
0 Members and 1 Guest are viewing this topic. « previous next »
Pages: [1] Print
Author Topic: Moving from tcp with a given offset  (Read 911 times)
Dragonfly
Jr. Member
**
Offline Offline

Gender: Male
Posts: 70



« on: March 04, 2010, 08:26:04 AM »

Hallo everybody,

is there a way to move from the tcp with a given offset.
Its like this.
- I get a XYZ RX Ry RZ offset that is definend to the distance from the tcp and the part.
- And then I want to go to that point in our TCP frame.

I have tryed with something in the Position Variable and choose tool but can't figure out what is doing ( all i get is no movement ).

The problem is, they want to make almost no calculations from the to keep it as easy as possible to integrate it with other robots.

Thank you in advance.

 
Logged

"never say oeps, say Ah interesting"
Fabian Munoz
Global Moderator
*****
Offline Offline

Gender: Male
Posts: 862


Uruguay Campeon de America 2011 !!!!!!!!!!


« Reply #1 on: March 04, 2010, 06:46:43 PM »

Dragonfly:

Let me get this straight.    What you need is to load new values on TCP ? and "they" dont want to do program shift or relative tool

" I get a XYZ RX Ry RZ offset that is definend to the distance from the tcp and the part."

Distance from TCP to part ? Are you using a external tcp ? I dont get this.

Can you describe it again ?
Logged

somar
Dragonfly
Jr. Member
**
Offline Offline

Gender: Male
Posts: 70



« Reply #2 on: March 05, 2010, 07:11:15 AM »

What we do is this.

- Vision tool mounted on the robot.
- Scan and looking for parts
- After scan giving current position from my tcp in base
- Vision send me the distance between tcp and the part he found while scanning tcp.

But it would be easy to just move in the TCP-Frame in the given distance of XYZ

But instead we have to translate the position of the part with the offset of tcp back to base to get it.

Scan -> frame vision -> current pos tcp in base -> part in XYZ from TCP -> part in XYZ in base

We want to delete the last stap and move in the TCP frame with a given XYZ offset

Logged

"never say oeps, say Ah interesting"
Fabian Munoz
Global Moderator
*****
Offline Offline

Gender: Male
Posts: 862


Uruguay Campeon de America 2011 !!!!!!!!!!


« Reply #3 on: March 06, 2010, 02:04:12 AM »

Dragonfly

I love these challenges   

OK, In my mind I picture a cookie tray with some cookies and the robot have to find them

Questions
1) Is the robot only moving x,y , so, basically on one plane ?
2) Is the robot doing this:
 move to A, stop, take picture, good picture -----> pick up
                                                 bad picture, go next
 move to B, stop, take picture, good picture -----> pick up
                                                 bad picture, go next
move to B, stop, take picture, good picture -----> pick up
                                                 bad picture, go next

or are you scanning (searching) from right to left very slow until you find a good picture.

Answer these ones and I 'll keep thinking
Logged

somar
Dragonfly
Jr. Member
**
Offline Offline

Gender: Male
Posts: 70



« Reply #4 on: March 09, 2010, 08:07:30 AM »

Hey somar,

almost correct imagine this:

A Robot is in front of a big box full with random orientated products. So they can be different in the X Y Z Rx Ry Rz.
I am making a scan of the box and I see a product I want to pick. And we get a 3D image.

The vision tels me the part that he found is
X= 50 mm
Y= -20 mm
Z= -200mm
Rx= 5 degrees
Ry= 2 Degrees
Rz= 32 Degrees

from my current position of my tcp. So i want that my robot is moving in XYZ coordinates of the TCP. ( I know it is possible when you moving by hand by just choosing the TCP frame ) But you cant just say move these given numbers in tcp coordinate system.

Thank you for all your help

Logged

"never say oeps, say Ah interesting"
95devils
Sr. Member
****
Offline Offline

Posts: 312


« Reply #5 on: March 09, 2010, 01:40:00 PM »

If all you want to do is move from where the robot tcp is to the offset listed above.  The IMOV instruction would work.  The IMOV is an incremental move.  Move from wherever I currently am by an amount that is stored in a position variable.

IMOV P0000 (frame of reference BF, RF, TF, or UF#).

P000 would contain x= 50 mm, Y=-20 mm and so forth.

I am by know means a vision expert.  When I scan like you are saying I only get a 2D image.  To get a 3D image, I either had two cameras set up.  One to give me X,Y, and Rz.  The other would give me Z. 

On projects with a single camera mounted to the robot to get a true 3D image I had to take two images with the camera from different locations and use the INVMAT and MULMAT instructions.  Multiplication of matrices and the Inverse.  With this I had to use the 3D shift instruction.
Logged

Alcohol:  The cause and solution to all life's problems
Dragonfly
Jr. Member
**
Offline Offline

Gender: Male
Posts: 70



« Reply #6 on: March 09, 2010, 02:01:37 PM »

If all you want to do is move from where the robot tcp is to the offset listed above.  The IMOV instruction would work.  The IMOV is an incremental move.  Move from wherever I currently am by an amount that is stored in a position variable.

IMOV P0000 (frame of reference BF, RF, TF, or UF#).

P000 would contain x= 50 mm, Y=-20 mm and so forth.

I am by know means a vision expert.  When I scan like you are saying I only get a 2D image.  To get a 3D image, I either had two cameras set up.  One to give me X,Y, and Rz.  The other would give me Z. 

On projects with a single camera mounted to the robot to get a true 3D image I had to take two images with the camera from different locations and use the INVMAT and MULMAT instructions.  Multiplication of matrices and the Inverse.  With this I had to use the 3D shift instruction.

That's also possible. What we create is a point cloud by using laser triangulation.
The calculation is done by the computer so the system will only give X Y Z Rx Ry Rz so its very easy to intergrate with other robot systems.

But I am going to do what you described above.
Thank you very much and I will keep you updated
Logged

"never say oeps, say Ah interesting"
Robocop
Newbie
*
Offline Offline

Posts: 27


« Reply #7 on: March 10, 2010, 05:13:23 AM »

I think that you can use GETTOOL-SETTOOL commands for your application?
But it's optional function.
Something like this:
GETTOOL P001 TL#(1)
ADD P001 P002
SETTOOL P001 TL#(2)
Where TL#1 is current tcp
TL#2 is tcp for picking
P002 Coordinates from your vision system

Logged
Dragonfly
Jr. Member
**
Offline Offline

Gender: Male
Posts: 70



« Reply #8 on: March 15, 2010, 07:36:44 AM »

Programmed, tested, working. 

Thank you very much for all the help 95devils, Somar and Robocop
Logged

"never say oeps, say Ah interesting"
snowfallsfarm
Newbie
*
Offline Offline

Posts: 3


« Reply #9 on: March 15, 2010, 01:03:29 PM »

So which method finally worked?  IMOV in TF?
Logged
Dragonfly
Jr. Member
**
Offline Offline

Gender: Male
Posts: 70



« Reply #10 on: March 16, 2010, 07:15:09 AM »

The IMOV is the most easiest and most efficient way.

I also try ed the gettool-settool and it also works but is not very efficient.
Logged

"never say oeps, say Ah interesting"
Pages: [1] Print 
« previous next »
Jump to:  


Login with username, password and session length

Powered by MySQL Powered by PHP Powered by SMF 1.1.16 | SMF © 2011, Simple Machines Valid XHTML 1.0! Valid CSS!