Dual arm CMM calibration issue

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Dual arm CMM calibration issue

    Hi all,
    I've been running a dual arm DEA Bravo with infinite wrists and 4 probe heads for each arm. I have completed the entire calibration procedure from scratch several times, and gotten very good results. The problem I have is that the arm to arm relationship in the Y axis seems to drift over time. I have a calibration program that calibrates the probe heads at several angles and finishes up with an origin only arm to arm calibration, and my results are always excellent. But I also have a validation program that sets the common sphere as the origin and measures it using both arms and all 4 probes at various angles. I ran it the other day and I see a difference in Y of 0.3 mm between the arms that is independent of the probe head and the angle. The only way I know to get rid of it is to blow out my .DAT files and complete the entire calibration procedure from scratch. I did this the other day and presto! Arm to arm relationship is good again! My question is why doesn't the normal calibration procedure correct for the shift, and why are my results always show good when there is a shift present?

  • #2
    Just perform the common origin portion of the arm to arm calibration. Common origin, origin only, 1 sphere on the common sphere. This should be done with the gold tips after calibrating them at A0B0 on their respective spheres. Should bring the arms back to 0/0 with each other.
    Systems Integrator
    Hexagon Manufacturing Intelligence

    Comment


    • #3
      Should I do it in manual mode or DCC? I have an autocalibrate command at the end of my program that does what your saying as the last step. Is there a difference in what I'm doing versus what you are saying?

      Comment


      • #4
        There isn't a difference, but I wouldn't do execute from cursor or block but instead write it as part of the routine with flow control that allows you to perform this step. Versions of PC-DMIS prior to 2016 are notorious for not liking an execute from cursor in dual arm mode using auto-calibrate statements. Since they added the "set start point" and "execute from start point" it's considerably more reliable.



        Systems Integrator
        Hexagon Manufacturing Intelligence

        Comment


        • #5
          OK, so is there anything obvious about this program that can cause issues? Its dual arm so you have to imagine the red and green bars along the side

          [C0DE]
          STARTUP =ALIGNMENT/START,RECALL:USE_PART_SETUP,LIST=YES
          ALIGNMENT/END
          MODE/DCC
          PREHIT/10
          RETRACT/10
          MOVESPEED/ 120
          TOUCHSPEED/ 4
          WRISTSPEED/ 100
          FLY/ON

          COMMENT/OPER,NO,FULL SCREEN=YES,AUTO-CONTINUE=NO,
          This program Calibrates all the probes on the tool changer



          LOADPROBE/M_GOLD
          TIP/T1A0B0, SHANKIJK=0, 1, 0, ANGLE=180
          LOADPROBE/S_GOLD
          TIP/T1A0B0, SHANKIJK=0, -1, 0, ANGLE=180
          AUTOCALIBRATE/PROBE, PARAMETER_SET=ref, QUALTOOL_MOVED=YES_DCC,
          SHOW_SUMMARY=NO, OVERWRITE_RESULTSFILE=NO
          MOVE/POINT,NORMAL,<1480,-1200,-1388>
          AUTOCALIBRATE/PROBE, PARAMETER_SET=ref, QUALTOOL_MOVED=YES_DCC,
          SHOW_SUMMARY=NO, OVERWRITE_RESULTSFILE=NO
          MOVE/POINT,NORMAL,<1480,-2300,-1388>
          AUTOCALIBRATE/MULTIPLEARM, CALIBRATION_MODE=BOTH, MEASURE MODE=DCC,
          OPERATION TYPE=ORIGIN, QUALTOOL_ID=COMMON
          MEASURE_AT_CENTER 1=<1480.054,-1709.344,-1387.626>
          ARM 1=CMM1, ARM 2=CMM2
          LOADPROBE/M_40X2
          TIP/T1A0B0, SHANKIJK=0, 1, 0, ANGLE=180
          LOADPROBE/S_40X2
          TIP/T1A0B0, SHANKIJK=0, -1, 0, ANGLE=180
          AUTOCALIBRATE/PROBE, PARAMETER_SET=cal, QUALTOOL_MOVED=NO,
          SHOW_SUMMARY=NO, OVERWRITE_RESULTSFILE=NO
          AUTOCALIBRATE/PROBE, PARAMETER_SET=cal, QUALTOOL_MOVED=NO,
          SHOW_SUMMARY=NO, OVERWRITE_RESULTSFILE=NO
          LOADPROBE/M_50X3
          TIP/T1A0B0, SHANKIJK=0, 1, 0, ANGLE=180
          LOADPROBE/S_50X3
          TIP/T1A0B0, SHANKIJK=0, -1, 0, ANGLE=180
          AUTOCALIBRATE/PROBE, PARAMETER_SET=cal, QUALTOOL_MOVED=NO,
          SHOW_SUMMARY=NO, OVERWRITE_RESULTSFILE=NO
          AUTOCALIBRATE/PROBE, PARAMETER_SET=cal, QUALTOOL_MOVED=NO,
          SHOW_SUMMARY=NO, OVERWRITE_RESULTSFILE=NO
          WRISTSPEED/ 50
          LOADPROBE/M_71X4
          TIP/T1A0B0, SHANKIJK=0, 1, 0, ANGLE=180
          LOADPROBE/S_71X4
          TIP/T1A0B0, SHANKIJK=0, -1, 0, ANGLE=180
          AUTOCALIBRATE/PROBE, PARAMETER_SET=cal, QUALTOOL_MOVED=NO,
          SHOW_SUMMARY=NO, OVERWRITE_RESULTSFILE=NO
          AUTOCALIBRATE/PROBE, PARAMETER_SET=cal, QUALTOOL_MOVED=NO,
          SHOW_SUMMARY=NO, OVERWRITE_RESULTSFILE=NO
          LOADPROBE/M_GOLD
          TIP/T1A0B0, SHANKIJK=0, 1, 0, ANGLE=180
          LOADPROBE/S_GOLD
          TIP/T1A0B0, SHANKIJK=0, -1, 0, ANGLE=180
          AUTOCALIBRATE/MULTIPLEARM, CALIBRATION_MODE=BOTH, MEASURE MODE=DCC,
          OPERATION TYPE=ORIGIN, QUALTOOL_ID=COMMON
          MEASURE_AT_CENTER 1=<1480.054,-1709.344,-1387.626>
          ARM 1=CMM1, ARM 2=CMM2
          MOVE/POINT,NORMAL,<1483.425,-896.803,-1372.821>
          MOVE/POINT,NORMAL,<1483.632,-2576.75,-1359.651>
          [C0DE]

          Comment


          • #6
            Originally posted by MikeD6 View Post
            OK, so is there anything obvious about this program that can cause issues? Its dual arm so you have to imagine the red and green bars along the side

            Code:
            STARTUP =ALIGNMENT/START,RECALL:USE_PART_SETUP,LIST=YES
            ALIGNMENT/END
            MODE/DCC
            PREHIT/10
            RETRACT/10
            MOVESPEED/ 120
            TOUCHSPEED/ 4
            WRISTSPEED/ 100
            FLY/ON
            
            COMMENT/OPER,NO,FULL SCREEN=YES,AUTO-CONTINUE=NO,
            This program Calibrates all the probes on the tool changer
            
            
            
            LOADPROBE/M_GOLD
            TIP/T1A0B0, SHANKIJK=0, 1, 0, ANGLE=180
            LOADPROBE/S_GOLD
            TIP/T1A0B0, SHANKIJK=0, -1, 0, ANGLE=180
            AUTOCALIBRATE/PROBE, PARAMETER_SET=ref, QUALTOOL_MOVED=YES_DCC,
            SHOW_SUMMARY=NO, OVERWRITE_RESULTSFILE=NO
            MOVE/POINT,NORMAL,<1480,-1200,-1388>
            AUTOCALIBRATE/PROBE, PARAMETER_SET=ref, QUALTOOL_MOVED=YES_DCC,
            SHOW_SUMMARY=NO, OVERWRITE_RESULTSFILE=NO
            MOVE/POINT,NORMAL,<1480,-2300,-1388>
            AUTOCALIBRATE/MULTIPLEARM, CALIBRATION_MODE=BOTH, MEASURE MODE=DCC,
            OPERATION TYPE=ORIGIN, QUALTOOL_ID=COMMON
            MEASURE_AT_CENTER 1=<1480.054,-1709.344,-1387.626>
            ARM 1=CMM1, ARM 2=CMM2
            LOADPROBE/M_40X2
            TIP/T1A0B0, SHANKIJK=0, 1, 0, ANGLE=180
            LOADPROBE/S_40X2
            TIP/T1A0B0, SHANKIJK=0, -1, 0, ANGLE=180
            AUTOCALIBRATE/PROBE, PARAMETER_SET=cal, QUALTOOL_MOVED=NO,
            SHOW_SUMMARY=NO, OVERWRITE_RESULTSFILE=NO
            AUTOCALIBRATE/PROBE, PARAMETER_SET=cal, QUALTOOL_MOVED=NO,
            SHOW_SUMMARY=NO, OVERWRITE_RESULTSFILE=NO
            LOADPROBE/M_50X3
            TIP/T1A0B0, SHANKIJK=0, 1, 0, ANGLE=180
            LOADPROBE/S_50X3
            TIP/T1A0B0, SHANKIJK=0, -1, 0, ANGLE=180
            AUTOCALIBRATE/PROBE, PARAMETER_SET=cal, QUALTOOL_MOVED=NO,
            SHOW_SUMMARY=NO, OVERWRITE_RESULTSFILE=NO
            AUTOCALIBRATE/PROBE, PARAMETER_SET=cal, QUALTOOL_MOVED=NO,
            SHOW_SUMMARY=NO, OVERWRITE_RESULTSFILE=NO
            WRISTSPEED/ 50
            LOADPROBE/M_71X4
            TIP/T1A0B0, SHANKIJK=0, 1, 0, ANGLE=180
            LOADPROBE/S_71X4
            TIP/T1A0B0, SHANKIJK=0, -1, 0, ANGLE=180
            AUTOCALIBRATE/PROBE, PARAMETER_SET=cal, QUALTOOL_MOVED=NO,
            SHOW_SUMMARY=NO, OVERWRITE_RESULTSFILE=NO
            AUTOCALIBRATE/PROBE, PARAMETER_SET=cal, QUALTOOL_MOVED=NO,
            SHOW_SUMMARY=NO, OVERWRITE_RESULTSFILE=NO
            LOADPROBE/M_GOLD
            TIP/T1A0B0, SHANKIJK=0, 1, 0, ANGLE=180
            LOADPROBE/S_GOLD
            TIP/T1A0B0, SHANKIJK=0, -1, 0, ANGLE=180
            AUTOCALIBRATE/MULTIPLEARM, CALIBRATION_MODE=BOTH, MEASURE MODE=DCC,
            OPERATION TYPE=ORIGIN, QUALTOOL_ID=COMMON
            MEASURE_AT_CENTER 1=<1480.054,-1709.344,-1387.626>
            ARM 1=CMM1, ARM 2=CMM2
            MOVE/POINT,NORMAL,<1483.425,-896.803,-1372.821>
            MOVE/POINT,NORMAL,<1483.632,-2576.75,-1359.651>
            I'm going to be 100% honest here, I have a difficult time reading PC-DMIS code outside of the software but I'll give this a shot.
            I cannot see your parameter sets so I don't know exactly what you're doing but it looks okay at a glance(This is exactly how I used to write my multiple arm tip cal). For this type of operation I typically do no do a common origin before I go into the tip program but I don't think it's affecting anything either positively or negatively. As best I can tell you're not mapping in this program which in my opinion is a good thing. The only time I Map is when I can prove something is wrong with the map either with a calibration check and viewing the PR values in results file. I would show summary and overwrite results file (large probe results files can cause issues, purge them occasionally if you are not already) and I would print and save the summary to prevent overburdening my results files.

            Your common origin program can look just like the top 3 autocalibrate statements.
            Code:
            LOADPROBE/M_GOLD
            TIP/T1A0B0, SHANKIJK=0, 1, 0, ANGLE=180
            LOADPROBE/S_GOLD
            TIP/T1A0B0, SHANKIJK=0, -1, 0, ANGLE=180
            AUTOCALIBRATE/PROBE, PARAMETER_SET=ref, QUALTOOL_MOVED=YES_DCC,
            SHOW_SUMMARY=NO, OVERWRITE_RESULTSFILE=NO
            MOVE/POINT,NORMAL,<1480,-1200,-1388>
            AUTOCALIBRATE/PROBE, PARAMETER_SET=ref, QUALTOOL_MOVED=YES_DCC,
            SHOW_SUMMARY=NO, OVERWRITE_RESULTSFILE=NO
            MOVE/POINT,NORMAL,<1480,-2300,-1388>
            AUTOCALIBRATE/MULTIPLEARM, CALIBRATION_MODE=BOTH, MEASURE MODE=DCC,
            OPERATION TYPE=ORIGIN, QUALTOOL_ID=COMMON
            MEASURE_AT_CENTER 1=<1480.054,-1709.344,-1387.626>
            ARM 1=CMM1, ARM 2=CMM2
            Systems Integrator
            Hexagon Manufacturing Intelligence

            Comment


            • #7
              Thanks Peter, I appreciate the help. My parameter sets are pretty straightforward, 5 different probe angles utilizing the map that I created with my gold probes. No, I do NOT map everytime, that would take forever.
              I do have one more question about the the multiple arm calibration. If the QUALTOOL is defined as COMMON (my common sphere), why is it necessary to say where the center is when I use the autocalibrate command in my code? As opposed to when I just run a calibration from the Operation drop down, where I just select the common sphere and it knows where it is? That's the only real difference I notice between calibrating manually and doing it with an autocalibrate command. I wonder if that can cause some type of error that incrementally shifts my armarm.dat file over time. My sphere stays bolted to the table but I notice my values are slightly different each time in the results file.

              Comment


              • #8
                Originally posted by MikeD6 View Post
                Thanks Peter, I appreciate the help. My parameter sets are pretty straightforward, 5 different probe angles utilizing the map that I created with my gold probes. No, I do NOT map everytime, that would take forever.
                I do have one more question about the the multiple arm calibration. If the QUALTOOL is defined as COMMON (my common sphere), why is it necessary to say where the center is when I use the autocalibrate command in my code? As opposed to when I just run a calibration from the Operation drop down, where I just select the common sphere and it knows where it is? That's the only real difference I notice between calibrating manually and doing it with an autocalibrate command. I wonder if that can cause some type of error that incrementally shifts my armarm.dat file over time. My sphere stays bolted to the table but I notice my values are slightly different each time in the results file.
                I honestly don't know the actual reason, but it probably has something to do with losing the arm to arm file. Regardless, there is a variable in the PC-DMIS code to use the qualtool x,y,z as a variable. I usually encode the location in the autocalibrate to point to the common sphere x,y,z data.
                Systems Integrator
                Hexagon Manufacturing Intelligence

                Comment

                Related Topics

                Collapse

                Working...
                X