6 DoF UFRAME calibration

  • Hello everyone,

    I am currently working on a Fanuc collaborative robot and I am looking to calibrate the position of an object that I insert into my robotic cell.

    The operation consists in coming to calibrate the position of this object in the 6 degrees of freedom and to update its UFRAME. The object is placed by an operator in the cell more or less 5 centimeters from the basic position.

    My robot is equipped with a mounted iRVision 2D camera and an FS-40iA force sensor.

    What do you think is the best solution to calibrate the 6 DOFs?

    We can consider adding a laser to my robot in order to take precise measurements.

    Thank you in advance for your precious help. :)

  • AD
  • First, try to simplify this as much as possible. Are all 6 DoF really going to change? For example, if the operator is placing it onto a work table then shouldn't Z, W, & P be fixed? If so then you only need to detect X, Y, & R which could be done with the 2D camera.

    Also, consider implementing a mechanical fixture to hold the part in a fixed position. Then you don't need to detect any DoF.

  • Thank you for your answers. The points you raise are correct. However, the support on which the tool is placed can be caused to move on these axes of rotation. It is therefore important for me to have these 6 DOFs.

    In fact, the calibration step will make it possible to create a UFRAME from the origin of the tool which is inserted into the cell to then come and perform operations on it using the robot.So I need to know its precise position in the 6 DOF.

  • Still confused, the problem is I do not understand the procedure

    On your first post you are "placing an object" and on your last post you are "placing a tool"

    Watch the video. Is this kind of what you are asking, I mean, the idea ?The job was to apply torque to a bolt.

    The bolt could be anywhere within a 2" square, so we would take a picture "far away" to find the bolt that luckily had a round head.

    Then we will shift the robot to the coord we just found. When I say robot I mean locate the camera at those coord

    At this point we will the robot in the perfect spot, right in top of the bolt, then we would take another picture to find the exact center to introduce the torque bit

    Seems to me that the car seat and the bolt is what your operator does and the the torque part is what you are looking for

    61: ;

    62: DO[50:Ring Light]=ON ;

    63: ;

    64:L P[3] R[17:L Fast]mm/sec FINE ;

    65: R[1:Recover Data]=3 ;

    66: ;


    68: ;

    69: IF R[12:Vision Failed]=1,JMP LBL[97] ;

    70: ;

    71:L P[4] R[17:L Fast]mm/sec FINE VOFFSET,VR[1] ;

    72: R[1:Recover Data]=4 ;

    73: ;




  • Thank you for your reply. It's true I use the word object and tool for the same thing in fact. I will try to clarify my approach a little more.

    A cart on which an object that I also call a tool rests is introduced into my robotic cell and is placed approximately thanks to a marking on the ground.

    Then the robot must be able to automatically locate the position of my object which is on the cart.

    We can think of the work object as a straight pavement.

    However, the robot must be able to detect its position within 6 DOF and with good precision because machining operations will then be performed on the work object. Thus, I could find the origin of my object and launch the robotic program which will take into account the new UFRAME of my object.

    I hope this remains understandable! thank you so much

  • Is the robot picking up the object from the cart and taking it to a machining tool?

    If so, I'm wondering if this can be simplified if the robot gripper can handle some misalignment and self center the object. If so then a basic 2d vision process would work.

    Can you tell us what you have tried?

  • You're right. However, I no longer plan to use the 2D camera for this application as the accuracy is going to be problematic.

    Indeed, the focal length will have to vary depending on the size of the object that I want to measure and this risks distorting the measurements.

    As for the work done on the object, once the origin mark has been calibrated, the robot will come and take measurements on the part at specific locations to carry out quality inspections.

  • Robots may be repeatable to .002", but they are not accurate to .002".

    If that is truly your requirement then you would be better off with a different solution.

    If you want to proceed and see how good it is then go ahead. All you need is to probe 6 points and understand trigonometry.

  • You are right. To be precise, the laser sensor would have to remain fixed in the robotic cell. However it would take at least 3 lasers to detect the position within 6 DOF, right?

  • A single point laser sensor only gives you 1 value. So you would need to measure or probe 6 points to get 6 DoF.

    Right but is it possible to use laser sensors which will be able to detect several points which are in their range while remaining in the same position?

    Is it possible to prelocate the part ? Push it against a known edge ?Slide to a corner ?

    In fact, it is not possible to come and put the object in position in the same corner because its geometry can vary.

    I would like to have an independent calibration of the fixation of the object in relation to a surface. However, it is possible to position it in the cell to within a few centimeters. Then the calibration method should do the job.

  • A 1D laser (point) can only detect a single point unless you move it around. There are 2D profile lasers (line) that you could get multiple points from.

    I still say that designing a proper fixture is the best solution. Even if the geometry varies there is usually still a way to design a fixture. I've seen fixtures designed that hold dozens of different parts.

    Laser sensors are not always a magic bullet. They have their issues and limitations also.

  • You're right about the fixtures. It is possible to imagine a simple positioning system on which the tool presses and thus we block 2 rotations and the Z translation. But this Z translation will be taken to vary depending on the tool used and it is therefore necessary to evaluate it at each calibration.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account
Sign up for a new account in our community. It's easy!
Register a new account
Sign in
Already have an account? Sign in here.
Sign in Now